C # перечисления / отражения - PullRequest
0 голосов
/ 19 июня 2010

Допустим, у меня есть функция, которая принимает строку. Эта строка содержит полное имя типа enum (например, «MyCompany.Area.AotherNamespace.MyEnum»).

Как я могу создать массив строк (или List<string>), элементами которых являются значения MyCompany.Area.AotherNamespace.MyEnum?

Это вообще возможно?

Я в основном пытаюсь сериализовать серверную часть типа enum и затем выводить ее в клиентский JavaScript, поэтому мне не нужно определять enum в двух местах - в моем C # и моем JavaScript.

1 Ответ

7 голосов
/ 19 июня 2010
Type type = Type.GetType(yourStringWithTheFullEnumName);
string[] valueNames = Enum.GetNames(type);

Это не работает в Silverlight (и, возможно, в Compact Framework). Если вы работаете в «альтернативном» CLR, то вы можете получить тот же эффект с небольшим количеством отражения.

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