-2
在一个控制台应用程序,我有以下几点:这个代表为什么不工作?
static void Main(string[] args)
{
var t = New Test();
var newString = t.TestDelegate(tester("just testing"));
public static string tester(string s) {
return s;
}
}
public delegate string MyDelegate(string s);
public class Test
{
public string TestDelegate(MyDelegate m)
{
return "success!";
}
}
这是行不通的。在var newString
行,我得到以下错误:
cannot convert from 'string' to 'MyDelegate'
tester
具有相同的签名MyDelegate
。我究竟做错了什么?
'TestDelegate()'方法需要一个MyDelegate实例。你传递给它一个'string'。如果你想传递一个指向'tester'的委托实例,那么只需通过'tester',即'var newString = t.TestDelegate(tester);'。如果这不是你想要的,那么我不知道你想要什么。请修正你的问题,这是有道理的。 –
普通信封里有多少封信?一。 “普通信封”里有多少封信?十八。一个产生一个字符串的函数和它产生的字符串是两个完全不同的东西。 –