c# 特性类的使用
程序员有的时候需要给对象字段添加一下特性(如字段描述信息),然后在程序中得到这些信息,c#中特性类使用如下:
自定义特性类:(必须派生自System.Attribute特性类)
public class discription : System.Attribute
{
public string discription1;
public string discription2;
public string discription3;
public string discription4;
public string discription5;
public discription(string str1, string str2, string str3, string str4)
{
this.discription1 = str2;
this.discription2 = str3;
this.discription3 = str4;
this.discription4 = str4;
this.discription5 = str1;
}
}
///需要添加特性的类
public class Student
{
[discription("描述1", "描述2", "描述3", "描述4")]
public string name;
[discription("密码1", "密码2", "密码3", "密码4")]
public string password;
[discription("方法1", "方法2", "方法3", "方法4")]
public void Say()
{
//.....
}
}
//获取特性信息
public partial class AttributeTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Student s = new Student();
FieldInfo file = s.GetType().GetField("name");//得到name字段
object[] attrbutes = file.GetCustomAttributes(typeof(discription), false);//得到name字段特性集合
foreach (object o in attrbutes)
{
discription dis = o as discription;
//dis对象就是派生的特性类对象 可以通过此对象获得描述信息
}
}
}