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