我的类中有一个属性,它只能是多个值中的一个,限制此属性输入的最佳方法是什么.
这就是我现在正在做的事情,我相信一定有更好的方法.
public void SetValue(int value)
{
if(value != 1 ||
value != 4 ||
value != 8 ||
value != 16 ||
value != 32 ||
value != 64, ||
value != 128)
{
property_value = 1;
}
else
{
property_value = value;
}
}
Run Code Online (Sandbox Code Playgroud)
而不是in int,使用Enumwith这些值.
我确信每个值都有特定的含义 - 将它们作为枚举成员公开.
这可能不会消除所有问题(因为Enum它只是一个整数类型的包装器,并且仍然可以分配一个枚举中不存在的值),但是应该处理大多数问题,只要你只是一致的从枚举本身传递值.
无论如何,您可以简单地针对枚举测试传入的值,如果它不是有效成员则抛出异常.
| 归档时间: |
|
| 查看次数: |
760 次 |
| 最近记录: |