简体   繁体   English

将枚举值分配给参数

[英]Assigning an enum value to a parameter

I have an enum that looks like this: 我有一个看起来像这样的枚举:

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

I then make a call to an external web API and get a value of value-1 然后,我对外部Web API进行调用,并获得value-1value-1

My internal method which is expecting an enum value looks like this: 我期望一个枚举值的内部方法如下所示:

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

My question is how do I pass an enum value based on what I receive externally? 我的问题是如何根据外部接收的值传递枚举值? Clearly I need to do a comparison and determine what I've received but I'm not sure how to "assign" an enum value to a parameter. 显然,我需要进行比较并确定收到的内容,但是我不确定如何将枚举值“分配”给参数。 What would be the parameter's type? 参数的类型是什么?

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

关于什么:

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

Another option: 另外一个选项:

var input = "value-1";

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM