Func<int,bool> f = Delegate.CreateDelegate(
typeof(Func<int,bool>), target, (MethodInfo)mi);
Note here that target
is the object you want to use, since func
is a non-static
method. If it was a static
method, you can omit that (or pass null
). Alternatively, you can omit target
(or pass null
) if you make it a Func<Foo, int, bool>
where Foo
is the type that declares func
.
However!!! Note that having a Func<int,bool>
is largely meaningless in terms of creating a lambda expression; lambda expressions rarely use delegates.