C#: Как использовать Конвертер типов для локализации перечислений

Нет, и они постепенно сокращаемый PHP 6 поэтому, если Вы цените долговечность кода, просто не используйте их или <% ... %> теги.

7
задан Community 23 May 2017 в 12:31
поделиться

2 ответа

Чтобы создать TypeConverter, просто создайте класс, унаследованный от TypeConverter. Затем вы используете TypeConverterAttribute , чтобы пометить свой класс, чтобы каждый раз, когда кто-то пытается выполнить операцию преобразования в вашем классе, вызывается ваш TypeConverter.

После того, как вы унаследуете от TypeConverter, вы должны переопределить некоторые из его методов, чтобы делай что хочешь. Вы, вероятно, захотите для начала взглянуть на ConvertFrom (), ConvertTo () и ConvertToString () - именно здесь вы реализуете логику для извлечения вашей локализованной версии ваших строк.

Чтобы использовать TypeConverter, вы запрограммировал бы что-то вроде этого:

var foo = TypeDescriptor.GetConverter(typeof(T));
var mystring = foo.ConvertToString(myObject));

MSDN, конечно же, содержит документацию и несколько примеров реализации TypeConverter.

6
ответ дан 7 December 2019 в 07:49
поделиться

Я полагаю, что на этот вопрос уже был дан ответ в Как мне переопределить ToString в перечислениях C #?

Кроме того, вы можете объединить это с методом расширения для перечислений с таким именем, как ToDisplayString.

1
ответ дан 7 December 2019 в 07:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: