MethodInfo.Invoke vs Type.InvokeMember?

时间:2016-04-15 20:43:05

标签: .net system.reflection methodinfo invokemember

MethodInfo.Invoke()Type.InvokeMember()方法之间有什么区别?

应该在哪些情况下使用?

调用方法的首选方法是什么?

2 个答案:

答案 0 :(得分:0)

我想两者都应该相同,只要调用一个方法或构造函数是一致的,但如果你想获取/设置一个字段/属性,必须使用InvokeMember。

查看此处的链接了解更多详情。

请参阅MethodBase.Invoke Example

请参阅Type.InvokeMember Example

答案 1 :(得分:0)

根据您的使用方式,MethodInfo.Invoke可能会更快。当您在封面下致电Type.InvokeMember时,会检索MethodInfo,然后再进行调用。检索MethodInfo是很昂贵的。如果您多次调用相同的方法,将MethodInfo保存在变量中并从变量中调用它并节省时间。