C#,将操作分配给代表

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)

我该如何分配actdel

p.s*_*w.g 5

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)