今天看到一个委托类型的练习,有点不是很清楚,
其中代码如下:
--------------------------------------------------------------------
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls;
public partial class shijian : System.Web.UI.Page {
public class Book { string title; // 标题 int num; // 书的数量 double price; //价钱
public delegate void TitleChangeHandler();//事先声明一个委托类型 public event TitleChangeHandler TitleChange;//声明一个事件,并指定是委托类型
public Book() { } public Book(string ntitle, int nnum, double nprice) { title = ntitle; num = nnum; price = nprice;
} public string Title { get { return title; } set { title = value; TitleChange(); //修改标题会触发这个事件 } } public int Num { get { return num; } set { num = value; } } public double Price { get { return price; } set { price = value; } }
public string BookInfo() { string html = "<BR>书名是: " + title + "<BR>数量:" + num + "本<BR>价钱:" + price; return html; }
} protected void Page_Load(object sender, EventArgs e) { Book shu = new Book(); shu.TitleChange += new Book.TitleChangeHandler(shu_TitleChange);
shu.Title = "book name"; shu.Num = 21; shu.Price = 10.123;
Response.Write(shu.BookInfo()); } void shu_TitleChange() { Response.Write(" 事件执行完成"); }
}
代码结束
-------------------------------------------------------------------------------
运行结果:

|