C#允许在类和类成员上声明特性(类), 可在运行时解释类和类的成员. 这个特性也称为属性, 使用Attribute.下面演示如何使用.net框架提供的属性.
1 using System; 2 using System.Reflection; 3 public partial class _Default : System.Web.UI.Page 4 { 5 //自定义属性类 6 [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] 7 public class BookAttribute : Attribute //Attribute 自定义属性的基类 8 { 9 private string BookName; 10 public BookAttribute(string BookName) 11 { 12 this.BookName = BookName; 13 } 14 public string Book 15 { 16 get 17 { 18 return BookName; 19 } 20 } 21 } 22 23 //多次使用属性类 24 [Book("Asp.net入门基础;")] 25 [Book("C#实战案例")] 26 public class BookInfo 27 { 28 public string binfo = "图书信息***********"; 29 public BookInfo() 30 { 31 32 } 33 } 34 35 //页面的page_load调用自定义的属性示例 36 protected void Page_Load(object sender, EventArgs e) 37 { 38 //实例化BookInfo类 39 BookInfo bf = new BookInfo(); 40 //对象数组 41 object[] Bookattr; 42 //获取对象类型, 获取有关成员特性的信息并提供对成员元数据的访问 43 MemberInfo Typeinfo = typeof(BookInfo); 44 //提取类型是属性类的成员 45 Bookattr = Typeinfo.GetCustomAttributes(typeof(BookAttribute), false); 46 if (Bookattr.GetLength(0) != 0) 47 { 48 BookAttribute ba = (BookAttribute)(Bookattr[0]);//获取属性类的第一个成员 49 BookAttribute ba2 = (BookAttribute)(Bookattr[1]);//获取属性类的第二个成员 50 Response.Write(bf.binfo); 51 Response.Write("<br/>"); 52 Response.Write("图书名称:" + ba.Book + ba2.Book); 53 } 54 } 55 }
原文:http://www.cnblogs.com/wxylog/p/6097203.html