- UID
- 658062
- 积分
- 2147
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2008-10-22
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 csharp 于 2014-5-13 11:14 编辑
http://www.csharpwin.com/csharpspace/9312r374.shtml
C#自定义属性的相关知识示例代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace AttributeDemo
{
/*
* 有关该属性类的一些特性。
* AttributeUsage:指定自定义属性的所能够应用的类成员项。
*比如All所有、Assembly组件、Classic类、Delegates委托、Methods方法等.......
* Inherited:表示使用这一属性的类,其派生类是否可以继承基类的属性。
* AllowMultiple:表示使用这一属性的类,以否可同时应用该多个该属性的实例。
**/
[AttributeUsage(
AttributeTargets.All | AttributeTargets.Class,
Inherited = false, AllowMultiple = true)]
/// <summary>
/// 有关应用程序诸如更新日期、更新次数、
///作者以及版本数的相关说明性自定义属性类
/// </summary>
class CustomAttribute : System.Attribute
{
private string Author; //作者
public string Authors
{
get { return Author; }
set { Author = value; }
}
private string lastUpdate; //更新日期
public string LastUpdate
{
get { return lastUpdate; }
set { lastUpdate = value; }
}
private int numberUpdate; //更新次数
public int NumberUpdate
{
get { return numberUpdate; }
set { numberUpdate = value; }
}
private string version; //版本数
public string Version
{
get { return version; }
set { version = value; }
}
#region 自定义属性参数值【位置参数】 在使用该属性时,必须完全匹配。
/// <summary>
/// 带参构造函数对于字段进行初始化
/// </summary>
/// <param name="Author">作者</param>
/// <param name="lastUpdate">更新日期</param>
/// <param name="numberUpdate">更新次数</param>
/// <param name="version">版本数</param>
public CustomAttribute(
string Author, string lastUpdate,
int numberUpdate, string version)
{
this.Author = Author;
this.lastUpdate = lastUpdate;
this.numberUpdate = numberUpdate;
this.version = version;
}
#endregion
#region 自定义属性参数值【命令参数】在使用该属性时,可根据情况是否采用。
/// <summary>
/// 注释说明该程序用途的属性
/// 注释说明应用该属性的程序的作用。(整个程序)
/// </summary>
public string ProgramComment
{
get { return ProgramComment; }
set { ProgramComment = value; }
}
/// <summary>
/// 注释说明该类用途的属性
/// 注释说明应用该属性的类的作用(应用在类成员上)
/// </summary>
public string ClassComment
{
get { return ClassComment; }
set { ClassComment = value; }
}
/// <summary>
/// 注释说明该方法用途的属性
/// 注释说明应用该属性的方法的作用(应用在方法成员上)
/// </summary>
public string MethodComment
{
get { return MethodComment; }
set { MethodComment = value; }
}
#endregion
}
/*
* 在使用自定义属性时,需要完全匹配位置参数、
* 有选择性的匹配命令参数,也可不提供命令参数。
* */
[CustomAttribute(
"kewen", "2009-08-19", 1, "1.0",
ClassComment = "在这里测试TextAttribute类是否应用了自定义属性")]
class TextAttribute
{
............
}
}
|
|