Синтаксический анализ предоставленных пользователем значений перечисления в C # - PullRequest
1 голос
/ 13 января 2011

Я бы хотел, чтобы пользователь предоставил имя перечисления, скажем «Color», и значение, скажем «red», и сказал ему, является ли это значением члена этого перечисления, или если перечисление дажеСуществует.

Как я могу это сделать?

В прошлом я использовал Type.GetType ("UserProvidedType"). Parse / Convert.ChangeType, но это не работаеткогда предоставленный пользователем тип является перечислением.Смотрите: Синтаксический анализ примитивных типов, основанный на пользовательском вводе в c # для прошлых решений, которые не работают в этом контексте.

Спасибо.

1 Ответ

6 голосов
/ 13 января 2011
var type = Type.GetType("YourNameSpace.Color");
var belongs = Enum.GetNames(type).Any(o => o == "Red");
...