Nikitesh
Nikitesh

Reputation: 1305

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?

Upvotes: 5

Views: 1215

Answers (1)

Ilya Chumakov
Ilya Chumakov

Reputation: 25019

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

Upvotes: 6

Related Questions