我尝试使用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);
Run Code Online (Sandbox Code Playgroud)
PS抱歉我的英文不好;)