快捷搜索:

怎么使用C#自定义属性

  【IT168 技能 文档】在.NET框架中,常常 用到属性,从定义 哪些类是可序列化到选择某个Web效能 应用中的哪些方法是可以公开的都会用到属性。使用属性可以在设计时对类、properties和方法添加说明,然后在运转 时通过反射信息来查看 它们。本文为我们介绍了在开发应用时怎么 使用 C#自定义 属性。

本文可以从技能 文章下载出取得 ,其间 包括 了一个使用定制属性的Visual Studio项目示例文件。

属性类是设计时可应用于类、properties和方法的特殊文类。属性类提供描述元素某些方面属性的方式或抉择 依托 于该元素的其它类的行为,进而在运转 时可以拜访 和查验 这些描述与行为。你可以将属性类看作为类成员添加特殊修正 器的一种方式。

例如,假如 你早年 写过Web效能 ,那肯定知道要使得方法在整个效能 中是公开的,有必要 要使用WebMethod属性。这是一个演示属性应用的很好的例子,因为我们要用WebMethod属性扩展编程模型。C#中没有内建的方式来指定某个方法通过Web效能 是可见的(因为内建有标明 一个方法是私有的方式),因此需要添加WebMethod属性来满足这一需要。

  设计自定义 属性

设计自定义 属性的过程十分简略 ,在设计属性前只需要考虑以下几个方面:

·使用属性的用意是什么?

属性可以以很多方式使用。你需要定义 属性究竟 要完成什么功用 并确保这些特定功用 没有内建在.NET框架集中。使用.NET修正 器要比使用属性好,因为这将简化同其它设备 件的集成过程。

·属性有必要 储存 什么信息?

属性是方案 用来指示某个功用 的简略 标志吗?或者属性是否要储存 信息?一个属性可以具有 设计时赋予的一组信息,并在运转 时查看这些信息。例如,看一下示例应用中的别号 属性。

·属性应该驻留在哪一个 设备 件中?

大大都 状况 下,可以将属性包括 在使用该属性的设备 件中。不过也有这样的例子,将属性驻留在公共的、轻量级的、同享 设备 件中会更好些。这品种 型的配置允许客户使用属性时没必要 引用不需要的设备 件。

·哪些设备 件将会辨认 属性?

假如 没有模块读取属性,那么它将一文不值。你很可能将读取属性的类放在属性驻留的同一个设备 件中。然而,正像前面提到的,也有这样的例子,你想将读取属性的方法与属性本身 分别放在不同的设备 件中。

您可能还会对下面的文章感兴趣: