2020-08-11

C# 常用特性(Attribute)

使用特性,可以有效地将元数据或声明性信息与代码(程序集、类型、方法、属性等)相关联。 将特性与程序实体相关联后,可以在运行时使用反射这项技术查询特性。在 C# 中,通过用方括号 ([]) 将特性名称括起来,并置于应用该特性的实体的声明上方以指定特性。

目录

  • 指定方法实现的属性MethodImplAttribute
  • 标记不再使用的程序元素ObsoleteAttribute
  • 指定属性或事件的说明DescriptionAttribute
  • 未完待续...

使用特性,可以有效地将元数据或声明性信息与代码(程序集、类型、方法、属性等)相关联。 将特性与程序实体相关联后,可以在运行时使用反射这项技术查询特性
在 C# 中,通过用方括号 ([]) 将特性名称括起来,并置于应用该特性的实体的声明上方以指定特性

按照惯例,所有特性名称都以 Attribute 结尾。 但是,面向运行时的几种语言(如 Visual Basic 和 C#)无需指定特性的全名。 例如,若要初始化 System.ObsoleteAttribute,只需将它引用为 Obsolete 即可。

指定方法实现的属性MethodImplAttribute

同步方法

  • [MethodImplAttribute(MethodImplOptions.Synchronized)]标签应用到实例方法,相当于对当前实例加锁 lock(this)。
  • [MethodImplAttribute(MethodImplOptions.Synchronized)]标签应用到静态方法,相当于对当前类型加锁。如 WithDraw 是静态方法,就相当于 lock (typeof(Account))

标记不再使用的程序元素ObsoleteAttribute

过时警告

  • [ObsoleteAttribute("过时方法、属性、类等,请使用新xxx方法、属性、类等", false)]
  • [ObsoleteAttribute()]或[ObsoleteAttribute]

过时错误

  • [ObsoleteAttribute("过时方法、属性、类等,请使用新xxx方法、属性、类等", true)]

指定属性或事件的说明DescriptionAttribute

DescriptionAttribute更多用于显示枚举变量的中文注释,反射枚举元素的DescriptionAttribute的值显示到界面。

未完待续...

C# 常用特性(Attribute)腾邦欧洲市场开拓与旺季备战攻略详解三头六臂—亚马逊运营者大会2019年我国外贸总值破31万亿元,同比增长3.4%亚马逊Prime Day背后的增长逻辑卖家故事汇:你都栽过亚马逊哪些坑?英西峰林走廊最佳旅游季节?自驾游路程?英西老虎谷暗河漂流自驾车路线?那里漂流怎样?刺激吗?影古线二日游如何安排?

No comments:

Post a Comment