C#学习之路(一):特性(Attribute)
引言
初学C#的小伙伴可能遇到以下情况:
[Conditional("DEBUG")]
public static void Message(string msg)
{
Console.WriteLine(msg);
}
这个中括号中的“标签”是什么?它是做什么用的?如何使用?
1、什么是特性(Attribute)
在C#中,特性是继承自 Attribute 基类的类,用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。所有继承自 Attribute 的类都可以用作其他代码块的一种“标记”。
这种“标签”可以控制其所修饰元素行为的某些方面。例如,大家都知道方法的可访问性是由 public、protected、internal 和 private 修饰符控制,C# 整合了这种能力,以便可以将用户定义类型的声明性信息附加到程序实体,并在运行时检索此类信息,从而实现控制其行为的目的。
2、使用方式
规定特性(Attribute)的语法如下:
[attribute(positional_parameters, name_parameter = value, ...)]
element
在相关声明element前的方括号内指定特性的名称以及任意自变量,attribute为特性名,positional_parameters 规定必需的信息,name_parameter 规定可选的信息。
3、基类库中常见特性
(1)Obsolete
Obsolete英语中意为“废弃的”,位于 System 命名空间中,可用于提供关于不断变

:特性(Attribute)&spm=1001.2101.3001.5002&articleId=88833382&d=1&t=3&u=94462c2a073c47c2b352456ce1005d8d)
1672

被折叠的 条评论
为什么被折叠?



