Я пытаюсь создать тип делегата, используя класс Expression, но когда я пытаюсь создать делегат из экземпляра MethodInfo, у меня возникает исключение ArgumentException. Я использую .NET 4.0 Вот код:
var method = /*...*/;
List<Type> tArgs = new List<Type> { method.ReturnType };
var mparams = method.GetParameters();
mparams.ToList().ForEach(p => tArgs.Add(p.ParameterType));
var delDecltype = Expression.GetDelegateType(tArgs.ToArray());
return Delegate.CreateDelegate(delDecltype, method);
P.S. Простите за плохой английский;)