我有一个这样的枚举:
public enum Priority
{
Low = 0,
Medium = 1,
Urgent = 2
}
我希望通过Priority.Low
传递来获取Enum.GetEnumVar(Priority,0)
,这应该返回Priority.Low
我该如何实现?
提前谢谢。
答案 0 :(得分:5)
只需将其转换为 enum 类型:
int value = 0;
Priority priority = (Priority)value;
// priority == Priority.Low
请注意,您可以将任何int强制转换为优先级,而不仅仅是那些名称为(Priority)42
的有效。
答案 1 :(得分:2)
像这样:
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));