【发布时间】:2016-04-15 20:43:04
【问题描述】:
MethodInfo.Invoke() 和 Type.InvokeMember() 方法有什么区别?
在哪些场景下应该使用哪个?
调用方法的首选方式是什么?
【问题讨论】:
标签: .net system.reflection methodinfo invokemember
MethodInfo.Invoke() 和 Type.InvokeMember() 方法有什么区别?
在哪些场景下应该使用哪个?
调用方法的首选方式是什么?
【问题讨论】:
标签: .net system.reflection methodinfo invokemember
我想两者应该是相同的,只要调用一个方法或构造函数是一致的,但是如果你想获取/设置一个字段/属性,必须使用 InvokeMember。
查看此处的链接了解更多详情。
【讨论】:
根据您的使用方式,MethodInfo.Invoke 可能会更快。当您在后台调用Type.InvokeMember 时,将检索并调用MethodInfo。检索MethodInfo 的成本很高。如果您多次调用同一个方法,请将MethodInfo 保存在一个变量中,并在保存时间的情况下从该变量中调用它。
【讨论】: