010. 使用.net框架提供的属性

时间:2024-01-11 13:46:50

C#允许在类和类成员上声明特性(类), 可在运行时解释类和类的成员. 这个特性也称为属性, 使用Attribute.下面演示如何使用.net框架提供的属性.

 using System;
using System.Reflection;
public partial class _Default : System.Web.UI.Page
{
//自定义属性类
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
public class BookAttribute : Attribute //Attribute 自定义属性的基类
{
private string BookName;
public BookAttribute(string BookName)
{
this.BookName = BookName;
}
public string Book
{
get
{
return BookName;
}
}
} //多次使用属性类
[Book("Asp.net入门基础;")]
[Book("C#实战案例")]
public class BookInfo
{
public string binfo = "图书信息***********";
public BookInfo()
{ }
} //页面的page_load调用自定义的属性示例
protected void Page_Load(object sender, EventArgs e)
{
//实例化BookInfo类
BookInfo bf = new BookInfo();
//对象数组
object[] Bookattr;
//获取对象类型, 获取有关成员特性的信息并提供对成员元数据的访问
MemberInfo Typeinfo = typeof(BookInfo);
//提取类型是属性类的成员
Bookattr = Typeinfo.GetCustomAttributes(typeof(BookAttribute), false);
if (Bookattr.GetLength() != )
{
BookAttribute ba = (BookAttribute)(Bookattr[]);//获取属性类的第一个成员
BookAttribute ba2 = (BookAttribute)(Bookattr[]);//获取属性类的第二个成员
Response.Write(bf.binfo);
Response.Write("<br/>");
Response.Write("图书名称:" + ba.Book + ba2.Book);
}
}
}