Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Delegate does not contain a definition for CreateDelegate in .net core

I'm trying to use delegates for reflection in dotNet core web application. Below is the sample of the code.

Action action = (Action) Delegate.CreateDelegate(typeof(Action), method)

Compiler gives the following error:

'Delegate' does not contain a definition for 'CreateDelegate'   ConsoleApp2..NETCoreApp,Version=v1.0'

Is there any work around for creating delegates in .net Core?

like image 882
Nikitesh Avatar asked May 09 '17 09:05

Nikitesh


1 Answers

Use MethodInfo.CreateDelegate instead.

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

Action action = (Action) methodInfo.CreateDelegate(typeof(Action), target);

Delegate.CreateDelegate is expected to return in .NET Core 2.0: .NET API Catalog

like image 134
Ilya Chumakov Avatar answered Nov 09 '22 14:11

Ilya Chumakov