【发布时间】:2010-04-07 17:25:18
【问题描述】:
在 previous question 中,我询问了如何从 Action 委托中获取 MethodInfo。此操作委托是匿名创建的(来自 Lambda)。我现在遇到的问题是我无法调用MethodInfo,因为它需要MethodInfo 所属的对象。在这种情况下,由于代表是匿名的,因此没有所有者。我收到以下异常:
System.Reflection.TargetException : 对象与目标类型不匹配。
我正在使用的框架 (NUnit) 要求我使用反射来执行,所以我必须在提供的墙壁内玩耍。我真的不想诉诸使用Emit 来创建动态程序集/模块/类型/方法只是为了执行我已经拥有的委托。
谢谢。
【问题讨论】:
-
能否添加产生异常的代码?
-
代码在NUnit框架中,但是当NUnit调用MethodInfo上的Invoke方法时失败。
标签: c# reflection delegates anonymous-methods nunit-addins