【问题标题】:MethodInfo.Invoke vs Type.InvokeMember?MethodInfo.Invoke 与 Type.InvokeMember?
【发布时间】:2016-04-15 20:43:04
【问题描述】:

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

在哪些场景下应该使用哪个?

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

【问题讨论】:

    标签: .net system.reflection methodinfo invokemember


    【解决方案1】:

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

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

    MethodBase.Invoke Example

    Type.InvokeMember Example

    【讨论】:

      【解决方案2】:

      根据您的使用方式,MethodInfo.Invoke 可能会更快。当您在后台调用Type.InvokeMember 时,将检索并调用MethodInfo。检索MethodInfo 的成本很高。如果您多次调用同一个方法,请将MethodInfo 保存在一个变量中,并在保存时间的情况下从该变量中调用它。

      【讨论】:

        猜你喜欢
        • 2011-03-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多