.net TypeConverters и использование домена - PullRequest
0 голосов
/ 18 июля 2011

В общем, есть ли причина не использовать TypeConverter для работы по преобразованию, включающей пользовательские типы, которые не имеют ничего общего с пользовательским интерфейсом?

Я думаю о случаях, более сложных, чем явные и явные преобразования.

Есть ли ссылки на руководства по проектированию и образцы для этого?

Приветствия
Berryl

UPDATE

Вот мотивация для преобразования, шаблон Party - PartyRelationship, где у Party может быть одно или несколько имен PartyNames. Когда Партия - это Персона, Единственное обязательное имя - Персона.

PersonName имеет атрибуты, которые отличаются от PartyName и являются ValueObject. Он используется для задач типа пользовательского интерфейса / форматирования, тогда как PartyName является сущностью и сохраняется в базе данных.

Итак, необходимы преобразования: - Загрузить из БД для презентации: (PartyName -> PersonName) - Добавить новый контакт в БД: (PersonName -> PartyName)

enter image description here

1 Ответ

1 голос
/ 18 июля 2011

Вот хорошая ссылка , которая объясняет разницу между TypeConverter и реализацией IConvertible. Но, в принципе, TypeConverter создан и наиболее полезен для выполнения преобразований типов во время разработки. Например, именно так XAML преобразует типы в XML и обратно.

IConvertible обычно более гибок, быстрее (не использует отражения) и проще в реализации, чем TypeConverter. Если вам не нужны дополнительные функции, предоставляемые TypeConverter (например, список стандартных значений), я бы порекомендовал вам использовать опцию интерфейса и использовать Convert статические методы.

...