在属性中指定允许的枚举值 [英] Specify allowed enum values in a property
本文介绍了在属性中指定允许的枚举值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否可以指定枚举属性只能具有一个值范围?
Is it possible to specify that a enum property can only have a range of values?
enum Type
{
None,
One,
Two,
Three
}
class Object
{
[AllowedTypes(Type.One,Type.Three)]
Type objType { get; set; }
}
是这样吗?也许是我不知道的企业库中的一些验证器?!
Something like this? Maybe some validator in enterprise library that I don't know of ?!
Ty
推荐答案
您可以使用设置逻辑进行验证。
You could do the validation in setter logic.
EDIT :例如:
class Object
{
private Type _value;
public Type objType{
get{ return _value; }
set{
if(value != Type.One && value != Type.Three)
throw new ArgumentOutOfRangeException();
else
_value = value;
}
}
}
这篇关于在属性中指定允许的枚举值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文