我如何从MethodInfo访问实例

时间:2015-06-21 15:04:48

标签: c# .net reflection

我有一个接收函数的方法,通常是一个方法。从该函数我可以使用MethodInfo访问方法的类和其他东西。 我希望能够在传递函数/方法时访问所使用的实例(如果有的话)。

示例:

MyFunctionReceivingAMethod(new SomeClass().MethodA)

我想从MyFunctionReceivingAMethod的反射数据访问SomeClassMethodA个实例。这可能吗?

更新

我知道我可以传递对方法的引用,但我想知道是否可以使用我已经拥有的函数指针来获取它。

1 个答案:

答案 0 :(得分:2)

MethodInfo class中的反射数据通常与方法相关联,而不与任何特定实例相关联。因此,您无法从该课程中获取您正在寻找的信息。

相反,Delegate.Target property将返回与收到的委托相关联的实例(我假设您正在寻找)。根据MSDN上的描述,该属性返回:

  

当前委托调用实例方法的对象,如果委托表示实例方法;如果委托表示静态方法,则返回null。