2 qq 34418970 qq_34418970 于 2016.04.22 13:43 提问

刚刚入门,为什么一直显示重载与委托不匹配

public delegate string Read(string s);
public static void read(Read a)
{
Console.WriteLine(a);
}

    static void Main(string[] args)
    {
        Read r1 = new Read(read);

4个回答

caozhy
caozhy   Ds   Rxr 2016.04.22 14:02

一个返回值是string一个是void当然不匹配,修改其中一个。

caozhy
caozhy   Ds   Rxr 2016.04.22 14:29

public delegate string Read(string s);
->
public delegate void Read(string s);

或者
public static void read(Read a)
{
Console.WriteLine(a);
}
->
public static string read(Read a)
{
Console.WriteLine(a);
return a;
}

caozhy
caozhy   Ds   Rxr 2016.04.22 14:29

或者
public static void read(Read a)
{
Console.WriteLine(a);
}
->
public static string read(Read a)
{
Console.WriteLine(a);
return "一个字符串";
}

caozhy
caozhy   Ds   Rxr 2016.04.22 14:30

或者
public static void read(Read a)
{
Console.WriteLine(a);
}
->
public static string read(string a)
{
Console.WriteLine(a);
return "一个字符串";
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
编译错误 : 某函数 的重载均与委托“System.Threading.ParameterizedThreadStart”不匹配
某类的一个函数中要启动一个线程,编写如下代码:Thread listenThread = new Thread( new ParameterizedThreadStart( this.Listen ) );listenThread.Start(reomteIPEndPoint ); 此线程中要使用的函数是带参数的,比如如下:public void Listen( IPEndPo
那些年朋友劝,该知道的ASP.NET - XXX的重载均与委托“System.EventHandler”不匹配,(花了 2小时)
              分类: ASPNET 2012-09-27 16:07 1482人阅读 评论(0) 收藏 举报 asp.netobjectstringclass 原: //页面后台代码         protected void Page_Load( object sender, EventArgs e )       
XXX事件的重载均与委托"System.EventHandler"不匹配
在给动态创建控件添加事件时容易遇到的一个错误就是:XXX事件的重载均与委托"System.EventHandler"不匹配。 假设控件是MovePicBox,使用如下代码添加KeyPress事件,会报不匹配的错。 MovePicBox.KeyPress += new EventHandler(MovePicBox_KeyPress); private void MovePicBox_Ke
编译器错误信息: CS0123: “MyList_Page”的重载均与委托“System.EventHandler”不匹配
以前遇到过几次类似 “XXXXX” 的重载均与委托“XXXXXX”不匹配  这样的错误,都没有得到解决,一头雾水,今天在几个朋友的帮助下终于解决了这个问题,这类问题出现的原因就是在控件的一些事件里面调用了函数,而这些函数的参数与该事件所要用到的参数类型不一致。比如:OnPageIndexChanged="MyList_Page" runat="server" Width="500" GridL
“AspNetPager1_PageChanging”的重载均与委托“System.EventHandler”不匹配
Default.aspx.cs protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)     {         this.AspNetPage
使用ParameterizedThreadStart委托向线程函数传送参数
在不传递参数情况下,一般大家都使用ThreadStart代理来连接执行函数,ThreadStart委托接收的函数不能有参数,也不能有返回值。如果希望传递参数给执行函数,则可以使用带参数的ParameterizedThreadStart委托,           public delegate void ParameterizedThreadStart(Object obj) 可以将要传送给
C#_XXX事件 的重载均与委托"System.EventHandler"不匹配
this.Btn_ok.Click += new System.EventHandler(this.Cv_id_ServerValidate);换成 this.Btn_ok.Click +=this.Cv_id_ServerValidate试试看
[Unity&C#&委托事件&未实例化]使用委托事件的时候事件对象未实例化
在对 委托 事件  进行 操作 的时候, 事件 的 对象为空 NullReferenceException: Object reference not set to an instance of an object unity delegate eventNullReferenceException: Object reference not set to an instance of a
【EasyAR学习】显示模型
一、开发环境    到EasyAR官网(https://www.easyar.cn/view/download.html#download-nav1)下载EasyAR的SDK,目前官网上发布的最新版本是2.2.0版本。    然后在EasyAR 官网(http://www.easyar.cn/)注册账号,在开发中心添加SDK license key。    点击确定后就会创建一个key。二、创建自...
关于“没有指定的类型匹配的重载函数”问题的解决
报错“ 没有指定的类型匹配的重载函数“Customer::Customer”实例,如下所示:   解决方案:        写的头文件中没有包含一定的其他头文件,比如你的这个类中,假设其中包含string类型,但是你的头文件中没有写#include using namespace std; 类的实现文件中就会表示不认识string,从而出现重载错误,因为不认识这个类型。在头文件中加