属性提供功能强大的方法以将声明信息与 C# 代码(类型、方法、属性等)相关联。一旦属性与程序实体关联,即可在运行时使用名为反射的技术对属性进行查询。

属性以两种形式存在:一种是在公共语言运行库的基类库中定义的属性,另一种是可以创建,可以向代码中添加附加信息的自定义属性。此信息可在以后以编程方式检索。

在本例中,属性 System.Reflection.TypeAttributes.Serializable 用来将特定特性应用于类:

C# CopyCode image复制代码
[System.Serializable]
public class SampleClass
{
    // Objects of this type can be serialized.
}

属性概述

属性具有以下特点:

  • 属性可向程序中添加元数据。元数据是嵌入程序中的信息,如编译器指令或数据描述。

  • 程序可以使用反射检查自己的元数据。请参见使用反射访问属性

  • 通常使用属性与 COM 交互。

相关章节

C# 语言规范

有关更多信息,请参见 C# 语言规范中的以下各章节:

  • 1.12 属性

  • 17 属性

请参见

概念

C# 编程指南
反射(C# 编程指南)
属性 (Attribute) 概述
特性的常见用途