2015-12-26 2 views
0

У меня есть перечисление, который выглядит следующим образом:Присвоение значения перечисления в качестве параметра

public enum MyValues 
{ 
    value1 = 1, 
    value2 = 2, 
    value3 = 3 
} 

Я тогда сделать вызов на внешний веб-API и получить значение value-1

Мой внутренний метод, который ожидает значение перечисления выглядит следующим образом:

public void MyMethod(MyValues value) 
{ 
    // Do something... 
} 

Мой вопрос, как я могу передать значение перечисления, основываясь на то, что я получаю извне? Ясно, что мне нужно сделать сравнение и определить, что я получил, но я не уверен, как «назначить» значение enum для параметра. Каким будет тип параметра?

var myEnumValue = // What does my assignment look like? 

ответ

0

Другой вариант:

var input = "value-1"; 

var myEnumValue = (MyValues)Enum.Parse(typeof(MyValues), input.Replace("-", "")); 
2

насчет:

var myEnumValue = (MyValues)int.Parse(apiValue.Split('-')[1]);