35
我想了解如何使用ICustomTypeDescriptor,TypeDescriptionProvider,TypeConverter和UITypeEditor来更改PropertyGrid显示和接口与对象的方式。ICustomTypeDescriptor,TypeDescriptionProvider,TypeConverter和UITypeEditor
有人可以告诉我,如果这是正确的,或者如果我错过了任何主要的概念或观点?我真的只是想明白为什么以及何时使用每个班级。
ICustomTypeDescriptor
- 在类实现此接口完全以覆盖一类的天然性质,并用()由ICustomTypeDescriptor.GetProperties返回的PropertyDescriptor替换它们
TypeDescriptionProvider
- 用于在
- 甲TypeDescriptionProvider通过TypeDescriptionProvider属性附加到一个类的类的现有属性延伸
- 的GetTypeDescriptor()的TypeDescriptionProvider的方法返回一个ICustomTypeDescriptor为所附到现有的属性的类型。
- 甲PropertyGrid中会同时显示通过反射发现类的属性,以及属性通过TypeDescriptionProvider
的TypeConverter
- 类型之间进行转换
- 在术语添加到类使用PropetyGrid用于在可以在属性网格中显示/编辑的复杂类型和基本类型之间进行转换。
- 一个的TypeConverter的GetStandard值的方法,也可以用来显示在PropertyGrid中
UITypeEditor的
- 定义自定义编辑器用于操作复杂的性质可能值的列表类型。
- 通过属性与属性关联。
因此,ICustomTypeDescriptor是一个TypeDescription提供程序,用于添加/更改/替换对象的整个属性。 TypeConverter和UITypeEditor应用于各个属性并控制这些特定属性的接口方式。