为参数指定枚举值

时间:2015-12-26 23:28:49

标签: c# enums

我有一个看起来像这样的枚举:

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

然后我调用外部Web API并获得值value-1

我期望枚举值的内部方法如下所示:

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

我的问题是如何根据外部收到的内容传递枚举值?显然,我需要进行比较并确定我收到了什么,但我不确定如何将“枚举”值“赋值给参数”。参数的类型是什么?

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

2 个答案:

答案 0 :(得分:2)

怎么样:

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

答案 1 :(得分:0)

另一种选择:

var input = "value-1";

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