我有一个 enum
:
public enum Enumeration
{
A,
B,
C
}
以及一种采用
Enumeration
类型参数的方法:public void method(Enumeration e)
{
}
我希望
method
只能接受 A
和 B
( C
被认为是错误的值),但我的 C
中需要 Enumeration
因为其他方法可以接受它作为正确的值。做这个的最好方式是什么? 最佳答案
我不会只拒绝 C
。我会拒绝 A
和 B
以外的任何值:
if (e != Enumeration.A && e != Enumeration.B)
{
throw new ArgumentOutOfRangeException("e");
}
这很重要,否则人们可以调用:
Method((Enumeration) -1);
它会通过你的验证。您始终需要注意枚举实际上只是一组命名整数 - 但任何正确基础类型的整数都可以转换为枚举类型。
关于c# - 管理枚举字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11172145/