一,什么是特性

特性也是一种对象,特殊之处在于其编译时就存在了,也就是在程序运行之前就存在了。

二,如何定义一个特性

[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
    public sealed class RequiredAttribute:Attribute
    {
        public  bool Validate(object value)
        {
            if (value == null) return true;
            if (string.IsNullOrEmpty(value.ToString())) return true;
            if (string.IsNullOrWhiteSpace(value.ToString())) return true;
            return false;
        }
    }

三,特性验证实体属性正确性

  • 定义特性基类
/// <summary>
    /// 数据特性验证的基类
    /// </summary>
    public abstract class AbstractValidateAttribute : Attribute
    {
        public abstract bool Validate(object value);
    }
数据特性验证的基类

相关文章: