Безопасно ли внедрение TypeConverter для типа фреймворка? - PullRequest
4 голосов
/ 17 ноября 2011

Разумно ли это?

class MyTypeConverter : TypeConverter {
  // implementation
}

// elsewhere
TypeDescriptor.AddAttributes(typeof(string[]),
   new[] { new TypeConverterAttribute(typeof(MyTypeConverter)) });

Заметьте, я ставлю это на string[].

Это кажется грязным.

Ответы [ 2 ]

1 голос
/ 17 ноября 2011

Safe? Да, он используется конструктором Windows Forms для вставки атрибутов, поэтому он является допустимым компонентом функциональности, хотя и не используется широко

Грязный? Да, немного. Если есть какой-то другой способ снять шкуру с кошки, я бы посмотрел на это так. Атрибуты должны представлять собой простые метаданные, используемые для обеспечения четкого способа определения определенных характеристик вашего кода. Используя динамические атрибуты, вы выходите за рамки обычного варианта использования.

0 голосов
/ 17 ноября 2011

Если вам нужно это сделать, тогда вам нужно это сделать.Убедитесь, что на самом деле вам не нужно просто свойство readonly для содержащего класса.

Однако я бы предложил использовать typeof (IEnumerable), чтобы вы также могли выбирать списки, коллекции и т. Д..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...