我提到了 MSDN 库,但仍然感到困惑。那么这两种方法有什么区别呢?谁能给我一个例子?
提前谢谢。:)
GetDeclaredProperty将返回仅在当前类型上声明的属性。GetProperty也将返回在父类上定义的属性。
此外,GetProperty具有重载,因此您可以指定是否只需要私有或公共属性、实例或静态等。
调用 GetDeclaredProperty 等效于调用:
GetProperty(name,
BindingFlags.NonPublic |
BindingFlags.Public |
BindingFlags.Static |
BindingFlags.Instance |
BindingFlags.DeclaredOnly);
GetDeclaredProperty
将返回仅为给定类型定义的属性,而不是继承的属性。这包括使用new
修饰符的属性,该修饰符会影响类的继承属性。
实际上,它是这个的简写
typeof(Uri).GetProperty("Host", BindingFlags.DeclaredOnly)