Главная » C#, Компоненты » Конвертеры типов

0

Для того чтобы редактор свойств понял, что наше сложное свойство можно редактировать с помощью редактора строк, необходимо создать специальный класс, называемый конвертером типа (type converter). Конвертер типа является наследником класса System.ComponentModel.TypeConverter. Для реализации полнофункционального наследника необходимо, как минимум, перекрыть следующие методы:

О метод bool CanConvertFromflTypeDescriptorContext context, Type sourceType) возвращает true, если тип sourceType можно преобразовать к нужному нам классу сложного свойства. В нашем случае мы будем возвращать true, если sourceType является типом string; О метод object ConvertFrom(ITypeDescriptorContext context, Culturelnfo culture, object value) возвращает объект сложного свойства, созданный из объекта vaiue. В нашем случае vaiue будет являться строкой, а для создания экземпляра класса GradientParameters мы будем вызывать метод

Parse;

? метод object ConvertTo (ITypeDescriptorContext context, Culturelnfo culture, object value, Type destinationType) производит обратное преобразование, а именно возвращает представление значения объекта value к типу destinationrype. В нашем случае мы будем возвращать строковое Представление, если destiлcэti0ЛГypeЯBЛяeтCЯ ТИПОМ string. В следующем разделе я скажу несколько слов о стандартных конвертерах тищ>в, а уже затем мы перейдем к созданию конвертера типа для нашего класса.

Литература:

Агуров П. В. C#. Разработка компонентов в MS Visual Studio 2005/2008. – СПб.: БХВ-Петербург, 2008. — 480 е.: ил.

По теме:

  • Комментарии