获取有关使用Type.InvokeMember()调用的成员的信息

时间:2010-02-13 23:24:18

标签: c# .net reflection

我正在使用Type.InvokeMember()来动态调用Type的各种成员。由于成员可以是通用的,也包括out参数等,我很高兴让运行时处理这个。但是,我还需要有关于已调用的实际成员的其他信息 - 特别是返回类型。如果这种类型可以为空,我需要做一些额外的处理。

所以,我想知道是否有可能获得与通过Type.InvokeMember()调用的成员相对应的MemberInfo对象。

或者,是否存在InvokeMember()的变体,它只是执行查找并返回相应的MemberInfo对象但实际上并未调用它?然后我可以分析MemberInfo对象,然后直接调用它。

我无法找到任何执行此操作的.NET API,所以我怀疑我需要手动编码。如果我遗失了什么,请告诉我。

2 个答案:

答案 0 :(得分:1)

  
    

或者,是否存在InvokeMember()的变体,它只是执行查找并返回相应的MemberInfo对象

  

您可以使用Type.GetMethod方法,给出所需方法(名称和参数类型)的说明。它返回一个MethodInfo对象,其中包含返回类型。

答案 1 :(得分:0)

typeof(yourType).GetMethod(...);