Delegate在.net核心中不包含CreateDelegate的定义

Nik*_*esh 5 c# reflection .net-core

我正在尝试使用代理在dotNet核心Web应用程序中进行反射.以下是代码示例.

Action action = (Action) Delegate.CreateDelegate(typeof(Action), method)
Run Code Online (Sandbox Code Playgroud)

编译器给出以下错误:

'Delegate' does not contain a definition for 'CreateDelegate'   ConsoleApp2..NETCoreApp,Version=v1.0'
Run Code Online (Sandbox Code Playgroud)

是否有任何解决方法在.net Core中创建代理?

Ily*_*kov 6

MethodInfo.CreateDelegate改用.

MethodInfo methodInfo = target.GetType().GetMethod(nameof(FooMethod));

Action action = (Action) methodInfo.CreateDelegate(typeof(Action), target);
Run Code Online (Sandbox Code Playgroud)

Delegate.CreateDelegate预计将在.NET Core 2.0:.NET API目录中返回