为什么PropertyInfo.GetValue()需要实例来检索值?

时间:2011-11-21 10:16:42

标签: c# reflection

PropertyInfo类有GetValue方法,它接受两个参数,第一个是属性的实例。
好吧,这对我来说没有意义,为什么ProperyInfo不具备价值? 我从实例中获取PropertyInfo,然后我再次需要Instance来检索值?!
这很奇怪。

有人可以解释一下为什么C#这样构建了吗?

3 个答案:

答案 0 :(得分:6)

PropertyInfo是“元数据”;它与类型上定义的属性相关联,而不是与实例相关联。

答案 1 :(得分:2)

PropertyInfo类是基于每个类型设计的。 PropertyInfo类似于类的属性,而不是实例上的属性。这就是您需要实例来检索值的原因。

答案 2 :(得分:0)

propertyinfo仅从实例生成构造计划而不是值本身