【发布时间】:2016-11-23 20:43:03
【问题描述】:
如果 Action 是 MDN 上所述的 委托:
公共委托 void Action()
- 为什么可以作为Delegate传递给非委托类型?
- 那为什么不能传递匿名函数呢? (我读到 lambda 创建一个匿名委托,就好像该函数是使用 delegate {} 创建的)
TestA (new Action (delegate { return; })); // Right.
TestA (delegate { return; }); // Wrong.
TestB (delegate { return; }); // Right.
TestB (() => { return; }); // Right.
public void TestA(Delegate del) {
// stuff...
}
public void TestB(Action callback) {
TestB (callback);
}
【问题讨论】: