GetGetMethod方法和GetMethod属性之间的差异



.Net 4.5将PropertyInfo.GetMethod作为PropertyInfo类的属性。它与PropertyInfo.GetGetMethod方法有什么不同吗?文档页面实际上是空白的。我能找到的唯一区别是,默认情况下,GetGetMethod只返回公共getter,而GetMethod甚至返回非公共getter(GetGetMethod(true)也实现了这一点(。

类似地,.NET 4.5中也有GetSetMethod方法和SetMethod属性。为什么在.NET中引入它?

没有区别。属性GetMethod调用GetGetMethod来获取getter1以下是ILSpy告诉我的关于属性实现的内容:

// System.Reflection.PropertyInfo
[__DynamicallyInvokable]
public virtual MethodInfo GetMethod
{
    [__DynamicallyInvokable, TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
    get
    {
        return this.GetGetMethod(true);
    }
}

属性GetMethod更易于使用,因为它与参数无关。

1从没想过我能在一句话里用get这个词这么多次

相关内容

  • 没有找到相关文章

最新更新