.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这个词这么多次