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是否也继承)。