你好
我对理解这种语法有一点问题

public delegate void DelegateType();
BeginInvoke(new DelegateType(functionName));


有人可以告诉我新的DelegateType(functionName)到底是什么意思。为什么我必须使用新关键字?

最佳答案

请参见documentation

委托是一种持有方法的类型。
您正在创建一个委托类型的新实例,指向一个现有方法。

C#2将隐式转换从方法组添加到任何匹配的委托类型。
但是,由于BeginInvoke不采用特定的委托类型(例如System.Action),因此始终需要显式创建委托实例。

10-04 21:17