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應用於各個屬性並控制這些特定屬性的接口方式。