流浪のwolf

卷帝

导航

dotnet 使用自定义特性

namespace TETTD.Common
{
    /// <summary>
    /// 导入excel特性 标记字段映射的列
    /// </summary>
    [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false)]
    public class ReadAttribute : Attribute
    {
        public ReadAttribute(int index,string columnName)
        {
            Index = index;
            ColumnName = columnName;
        }

        /// <summary>
        /// 列索引,从0开始 配置映射列
        /// </summary>
        public int Index { get; set; }

        /// <summary>
        /// 列名称 导出模板用到
        /// </summary>
        public string ColumnName { get; set; }
    }
}

   有一个叫AttributeUsageAttribute的类,它用来限制自定义定制属性的修饰范围,它的构造器有2个参数:AttributeTargets参数(枚举类型),Inherited(bool类型),前者指定了定制属性可以修饰的目标(如All表所有,class表类,Assembly表程序集等),后者表示是否继承(true则继承),即如果此定制属性用在父类上Base上,子类Derived是否可以继承此属性(或者方法的Override是否也继承)。

posted on 2024-05-11 23:47  流浪のwolf  阅读(2)  评论(0编辑  收藏  举报