属性(C# 编程指南) - C# 编程指南

返回介绍

属性(C# 编程指南)

发布于 2019-11-12 字数2082 浏览 891 评论 0

属性提供功能强大的方法以将声明信息与 C# 代码(类型、方法、属性等)相关联。属性与程序实体关联后,即可在运行时使用名为“反射”的技术查询属性。有关更多信息,请参见反射(C# 编程指南)。

属性以两种形式出现:

  • 一种是在公共语言运行时 (CLR) 中定义的属性。

  • 另一种是可以创建的用于向代码中添加附加信息的自定义属性。此信息可在以后以编程方式检索。

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

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

属性概述

属性具有以下特点:

  • 属性可向程序中添加元数据。元数据是有关在程序中定义的类型的信息。所有的 .NET 程序集都包含指定的一组元数据,这些元数据描述在程序集中定义的类型和类型成员。可以添加自定义属性,以指定所需的任何附加信息。

  • 程序可以使用反射检查自己的元数据或其他程序内的元数据。有关更多信息,请参见使用反射访问属性(C# 编程指南)。

  • MarshallAsare 等属性在 COM 互操作方案中得到了广泛使用。有关更多信息,请参见 System.Runtime.InteropServices..::.MarshalAsAttribute 和 System.Runtime.InteropServices..::.StructLayoutAttribute。

相关章节

有关更多信息,请参见:

  • 使用属性(C# 编程指南)

  • 创建自定义属性(C# 编程指南)

  • 消除属性目标的歧义性(C# 编程指南)

  • 使用反射访问属性(C# 编程指南)

  • 如何:使用属性创建 C/C++ 联合(C# 编程指南)

  • 通用属性(C# 编程指南)

  • “属性”示例

C# 语言规范

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

  • 10.2.1 属性

  • 17 属性

请参见

概念

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

参考

反射(C# 编程指南)

修订记录

日期

历史记录

原因

2008 年 7 月

更新了概述部分。

内容 Bug 修复

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

目前还没有任何评论,快来抢沙发吧!