我在这里阅读 Jon Skeet 的回答
他的样本之一是:
static void Main()
{
int x = 0;
Foo( delegate { return x; } );
}
static void Foo(Func<int, int> action)
{
Console.WriteLine("I suspect the anonymous method...");
}
但是怎么Foo(Func<int, int>)
处理delegate { return x; }
which isFunc<int>
呢?
事实上也Func< int,int,int,int,...>
可以处理delegate { return x; }
...
问题 1 请对此行为有任何解释吗?
问题2
我有这个代码:
class MyClass
{
public delegate void MyEventHandler(object sender);
public event MyEventHandler MyEvent;
}
我想使用通用处理程序:
class MyClass
{
public Action<object> MyEventHandler;
public event MyEventHandler MyEvent;
}
但我收到此错误:
'UserQuery.MyClass.MyEventHandler(object)' 是一个“方法”,但用作“类型”
为什么它不认识它?