我知道 Action
是一个 Delegate
,但我收到以下编译时错误,试图将 Action
分配给委托(delegate)
。
Cannot implicitly convert type 'System.Action' to 'ADelegate'
public delegate void ADelegate();
Action act = () => Console.WriteLine ("test");
ADelegate del = act;
如何将act
赋值给del
?
最佳答案
C# 不支持委托(delegate)类型之间的强制转换或转换。
尝试像这样创建一个新的 ADelegate
:
Action act = () => Console.WriteLine ("test");
ADelegate del = new ADelegate(act);
或者:
Action act = () => Console.WriteLine ("test");
ADelegate del = act.Invoke;
关于C#,将 Action 分配给委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22974958/