.Net 4.5将PropertyInfo.GetMethod作为PropertyInfo
类的属性。它与PropertyInfo.GetGetMethod
方法有什么不同吗?文档页面几乎为空白。我能找到的唯一区别是GetGetMethod
默认情况下仅返回公共getter,而GetMethod
返回非公共getter(同样由GetGetMethod(true)
实现)。
类似地,.NET 4.5中有GetSetMethod
方法和SetMethod
属性。为什么在.NET中引入它?
答案 0 :(得分:13)
没有区别。属性GetMethod
调用GetGetMethod
来获取getter。 1 以下是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 这个词!