Пример со stackoverflow | |
---|---|
S-type Сообщений: 2969 Дата регистрации: 24.04.2004 |
На stackoverflow.com есть такой пример:
На сколько понимаю, теперь можно сделать так:
Но, во всех случаях, словарь values просто не задействован, и его можно убрать из кода. Что я упускаю? Есть ещё какие то варианты использования класса Question? Как можно использовать "implicit operator Question(string name)"? |
Re: Пример со stackoverflow | |
---|---|
Igor Korolyov Автор Сообщений: 34580 Дата регистрации: 28.05.2002 |
Словарь задействован - в конструкторе стоит добавление вновь созданного экземпляра туда. Используется как защита от повторного добавления экземпляра с тем же "кодом".
Это всё безобразие - самодельная замена enum-а. У людей возникают вопросы, как легко и просто пользовать то число, то строку/название, то собственно enum как значение. В некотором роде это обход контроля типов - если указано что нужен Question (скажем в параметре некоторого метода) - то напрямую (без явного преобразования типов) ни число ни тем более строку с "названием" туда передать нельзя. Этот вариант - обход подобных "ограничений". Соответственно и операторы приведения типов для этого и нужны. В примере как раз видна "избыточность" штатного enum по сравнению с "самоделкой" при попытке такого использования (IMHO оно для этого и не предназначено, но мало ли кому что нужно).
------------------ WBR, Igor |
© 2000-2024 Fox Club  |