Найти значение перечисления по пройденному параметру - PullRequest
2 голосов
/ 15 декабря 2009

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

public enum Priority
{
   Low = 0,
   Medium = 1,
   Urgent = 2 
}

И я хочу получить, например, Priority.Low, передавая как Enum.GetEnumVar(Priority,0), что должно вернуть Priority.Low

Как мне это сделать?

Заранее спасибо.

Ответы [ 2 ]

5 голосов
/ 15 декабря 2009

Просто приведите его к типу enum :

int value = 0;
Priority priority = (Priority)value;
// priority == Priority.Low

Обратите внимание, что вы можете привести любой int к Приоритету, а не только те, которые имеют имя: (Priority)42 допустимо.

2 голосов
/ 15 декабря 2009

Как это:

Priority fromInt = (Priority)0;
Assert.That(fromInt, Is.EqualTo(Priority.Low));

Также это работает:

Priority fromString = (Priority)Enum.Parse(typeof(Priority), "Low");
Assert.That(fromString, Is.EqualTo(Priority.Low));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...