3

.NET PropertyDescriptor上的 PropertyType 和 ComponentType 有什么区别?

文档并没有真正解释

PropertyType 在派生类中重写时,获取属性的类型。

ComponentType 在派生类中重写时,获取此属性绑定到的组件的类型。

4

1 回答 1

8

就普通财产而言:

class Foo
{
    public int Bar { get; set; }
}

如果我们现在看Foo.Barvia TypeDescriptor,组件类型是Foo; 属性类型是Int32。基本上,ComponentTypeDeclaringType属性的(在反射方面)。因此,如果您正在编写自定义PropertyDescriptor实现,则PropertyTypedata的类型,并且ComponentType目标实例的预期类型。

于 2012-11-26T14:17:13.013 回答