use*_*682 4 c# delegates action type-conversion
我知道an Action是a Delegate,但是我在尝试将an分配Action给a 时收到以下编译时错误Delegate。
无法将类型'System.Action'隐式转换为'ADelegate'
public delegate void ADelegate();
Action act = () => Console.WriteLine ("test");
ADelegate del = act;
Run Code Online (Sandbox Code Playgroud)
我该如何分配act给del?
C#不支持在委托类型之间进行强制转换或转换。
尝试ADelegate像这样创建一个新的:
Action act = () => Console.WriteLine ("test");
ADelegate del = new ADelegate(act);
Run Code Online (Sandbox Code Playgroud)
或者:
Action act = () => Console.WriteLine ("test");
ADelegate del = act.Invoke;
Run Code Online (Sandbox Code Playgroud)