Attribute/特性心得随笔

时间:2022-08-25 13:35:56

代码如下:


<p>/*</p><p>*特性</p><p>*/</p> 

 

复制代码代码如下:


using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 

/// <summary> 
/// DisAttribute 的摘要说明 
/// </summary> 
public class DisAttribute : Attribute 

private string _message; 
/// <summary> 
/// 描述 
/// </summary> 
public string Message 

get { return _message; } 


public DisAttribute(string message) 

this._message = message; 


/* 

*类 

*/ 

复制代码代码如下:


using System; 
using System.Collections.Generic; 
using System.EnterpriseServices; 
using System.Linq; 
using System.Web; 
using System.Web.DynamicData; 


/// <summary> 
/// User 的摘要说明 
/// </summary> 
[DisAttribute("User"),TableName("user"),Description("user")] 
public class User 

private int? _id; 
/// <summary> 
/// Id 
/// </summary> 
[DisAttribute("主键")] 
public int? Id 

get { return _id; } 
set { _id = value; } 



private string _name; 
/// <summary> 
/// 名称 
/// </summary> 
[DisAttribute("名称")] 
public string Name 

get { return _name; } 
set { _name = value; } 


/* 

*获取 

*/ 

复制代码代码如下:


//获取特性 
User u = new User(); 
Type _t = u.GetType(); 
foreach (Attribute a in _t.GetCustomAttributes(true)) 

if (a.GetType().ToString() == "DisAttribute") 

DisAttribute _da = (DisAttribute)a; 
if (_da != null) 

Response.Write(_da.Message + "<br>"); 



//获取所有属性 
u.Id = 888888; 
u.Name = "陈奕迅"; 
foreach (PropertyInfo item in _t.GetProperties()) 

//特性 
Attribute atr = item.GetCustomAttribute(typeof(DisAttribute)); 
if (atr.GetType().ToString() == "DisAttribute") 

DisAttribute _da = (DisAttribute)atr; 
if (_da != null) 

Response.Write(_da.Message + "<br>");