Приведите имя определения перечисления к строке - PullRequest
4 голосов
/ 30 мая 2011

Если у меня есть перечисление вот так:

public enum MyEnum
    {
        Element1 = 1,
        Element2,
        Element3,
        Element4 
    }

Как я могу разыграть MyEnum до String() в коде

Я знаю, что могу разыграть любое значение Enumчтобы жало вот так MyEnum.Element1.ToString(), но как я могу привести определение / имя Enum к строке?

Я хочу сделать что-то подобное:

MyEnum.ToString()

Ответы [ 2 ]

3 голосов
/ 12 июня 2011

В зависимости от вашего варианта использования, я думаю, вам может быть лучше использовать атрибут отображаемого имени, как в примере здесь .Представление enum-строки часто не совсем то, что вы хотите отобразить, и вам нужно будет обновить код в разных местах, если вы хотите, чтобы эта строка изменилась.

1 голос
/ 30 мая 2011

Как сказал @shsmith, используйте:

typeof(MyEnum).Name  

Но, в отличие от того, что он сказал, не используйте:

MyEnum.GetType().Name  

Так как MyEnum не является статическим и, следовательно, не можетвызовите этот метод.
Вы можете использовать GetType() для определенного элемента, хотя, например, так:

MyEnum.Element1.GetType().Name //=MyEnum
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...