是否可以指定枚举属性只能具有一定范围的值?

enum Type
{
    None,
    One,
    Two,
    Three
}

class Object
{
    [AllowedTypes(Type.One,Type.Three)]
    Type objType { get; set; }
}

像这样吗?也许是我不知道的企业库中的某些验证器?

最佳答案

您可以在 setter 逻辑中进行验证。

编辑:一些示例:

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;
        }
    }
}

10-07 19:30
查看更多