我正在使用Type.InvokeMember()来动态调用Type的各种成员。由于成员可以是通用的,也包括out参数等,我很高兴让运行时处理这个。但是,我还需要有关于已调用的实际成员的其他信息 - 特别是返回类型。如果这种类型可以为空,我需要做一些额外的处理。
所以,我想知道是否有可能获得与通过Type.InvokeMember()调用的成员相对应的MemberInfo对象。
或者,是否存在InvokeMember()的变体,它只是执行查找并返回相应的MemberInfo对象但实际上并未调用它?然后我可以分析MemberInfo对象,然后直接调用它。
我无法找到任何执行此操作的.NET API,所以我怀疑我需要手动编码。如果我遗失了什么,请告诉我。
答案 0 :(得分:1)
或者,是否存在InvokeMember()的变体,它只是执行查找并返回相应的MemberInfo对象
您可以使用Type.GetMethod方法,给出所需方法(名称和参数类型)的说明。它返回一个MethodInfo对象,其中包含返回类型。
答案 1 :(得分:0)
typeof(yourType).GetMethod(...);