在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1、实现实体自定义特性,继承自Attribute类 /// <summary> /// 自定义特性 属性或者类可用 支持继承 /// </summary> [AttributeUsage(AttributeTargets.Property | AttributeTargets.Class, Inherited = true)] public class EnitityMappingAttribute : Attribute { private string tableName; /// <summary> /// 实体实际对应的表名 /// </summary> public string TableName { get { return tableName; } set { tableName = value; } } private string columnName; /// <summary> /// 中文列名 /// </summary> public string ColumnName { get { return columnName; } set { columnName = value; } } } 注释中我已经写的很清楚,自定义特性中的属性一个是实体实际对应的数据库表名,一个是对应的中文列名称。
public string RealName
{ get { return realName; } set { realName = value; } } private bool isActive; /// <summary> /// 是否活跃 没有附加自定义属性 /// </summary> public bool IsActive { get { return isActive; } set { isActive = value; } } } 3、显示自定义特性
foreach (string item in listColumnName)
ps:在获取自定义特性的地方,其实就是利用了GetCustomAttributes方法,这个没什么好说的。在实际开发的时候,通过反射的特性可以省却我们很多繁琐的事情,真像那句话说的,“反射反射,程序员的快乐”。不过,反射的性能问题还是需要格外注意的,比如,今天上午看到老赵的“Attribute操作的性能优化方式”才发现原来还有那么多内涵。 { Console.WriteLine(item); } } } static void Main(string[] args) { DisplaySelfAttribute<Member>(); //显示结果 Console.ReadLine(); } } 1、实现实体自定义特性,继承自Attribute类 /// <summary> /// 自定义特性 属性或者类可用 支持继承 /// </summary> [AttributeUsage(AttributeTargets.Property | AttributeTargets.Class, Inherited = true)] public class EnitityMappingAttribute : Attribute { private string tableName; /// <summary> /// 实体实际对应的表名 /// </summary> public string TableName { get { return tableName; } set { tableName = value; } } private string columnName; /// <summary> /// 中文列名 /// </summary> public string ColumnName { get { return columnName; } set { columnName = value; } } } 注释中我已经写的很清楚,自定义特性中的属性一个是实体实际对应的数据库表名,一个是对应的中文列名称。
public string RealName
{ get { return realName; } set { realName = value; } } private bool isActive; /// <summary> /// 是否活跃 没有附加自定义属性 /// </summary> public bool IsActive { get { return isActive; } set { isActive = value; } } } 3、显示自定义特性
foreach (string item in listColumnName)
ps:在获取自定义特性的地方,其实就是利用了GetCustomAttributes方法,这个没什么好说的。在实际开发的时候,通过反射的特性可以省却我们很多繁琐的事情,真像那句话说的,“反射反射,程序员的快乐”。不过,反射的性能问题还是需要格外注意的,比如,今天上午看到老赵的“Attribute操作的性能优化方式”才发现原来还有那么多内涵。
{ Console.WriteLine(item); } } } static void Main(string[] args) { DisplaySelfAttribute<Member>(); //显示结果 Console.ReadLine(); } } |
请发表评论