在属性中指定允许的枚举值 [英] Specify allowed enum values in a property

查看:117
本文介绍了在属性中指定允许的枚举值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆