Пытается проанализировать аргумент командной строки ('MyNameSpace.MyEnumClassName.MyConstantName'), чтобы получить константу.Parsing FQN enum constant to enum constant без разделения строки
Возможно ли это без извлечения имени EnumClassName? Я знаю, что я мог бы получить константу с Type.GetType(...); Enum.Parse(...)
Но есть ли прямой способ?
Фон: Этот аргумент может использоваться для разных вещей. Может быть fqn класса, константа ... Я знаю, что это не «чистый», но это не часть этого вопроса.
Я думаю, что это невозможно, потому что 'Enum.Parse()' требует, чтобы тип перерассеяния анализировался. –
Вы хотите, чтобы вы получили строку '' MyConstantName''? 'arg.Split ('.'). Last()', если вы хотите иметь значение enum/числовое значение, вам нужно 'Enum.Parse()' – Rhumborl
Несомненно Type.GetType в MyNameSpace.MyEnumClassName, за которым следует Enum.Parse в MyConstantName вы получите значение Enum в объекте. Это не особенно тяжело. Если вы хотите, чтобы это была единственная функция, тогда где-нибудь напишите статическую функцию в классе утилиты. –