我想从一个通用委托转换为一个命名委托。对实例方法的委托不能具有null'this'。当转换委托人
有了结果如下(无效C#)的精神是:
Action<CustomClass> act = ???;
CustomDelegate d = act;
我已经试过
CustomDelegate d = act.Invoke;
CustomDelegate d = new CustomDelegate(act);
CustomDelegate d = new CustomDelegate(x => act(x));
CustomDelegate d = new CustomDelegate(act.Invoke);
所有这一切都不能在运行时错误
给人一种ArgumentException
对实例方法的委托不能具有null'this'。
堆栈这不是我的代码的顶部是:
在System.MulticastDelegate.ThrowNullThisInDelegateToInstance()
在System.MulticastDelegate.CtorClosed(对象目标,IntPtr的methodPtr)
如何将一个委托转换为我没有得到异常?