C# 常用特性(Attribute)

使用特性,可以有效地将元数据或声明性信息与代码(程序集、类型、方法、属性等)相关联。 将特性与程序实体相关联后,可以在运行时使用反射这项技术查询特性
在 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的值显示到界面。

未完待续...

相关文章

项目中经常遇到CSV文件的读写需求,其中的难点主要是CSV文件...
简介 本文的初衷是希望帮助那些有其它平台视觉算法开发经验的...
这篇文章主要简单记录一下C#项目的dll文件管理方法,以便后期...
在C#中的使用JSON序列化及反序列化时,推荐使用Json.NET——...
事件总线是对发布-订阅模式的一种实现,是一种集中式事件处理...
通用翻译API的HTTPS 地址为https://fanyi-api.baidu.com/api...