以前对委托觉得真的好难理解,现在用一下,觉得也没有什么,正所谓难者不会,会者不难。
在这里贴一点最简单的代码,顺利做个简单的解释。
首先,有个银行叫delegateTest ,他有一个办理业务的柜台叫AddNum,还有一个客服叫OverFlow
接着,有一个公司叫_Default ,有一个出纳dtest和会计EventTest
整个过程:出纳dtest去柜台AddNum取钱,由于金额较大,柜台AddNum 说要一点时间请示领导,出纳dtest说那我要去办别的事,有消息通知会计EventTest
请示领导后发现钱不够取,于是领导让银行的客服OverFlow 去通知那个会计EventTest改天再来。
vs2008
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
public class delegateTest
{
private int iCount;
public delegate void OverFlow(string msg);
public event OverFlow TestOver;
public int AddNum
{
get
{
return iCount;
}
set
{
iCount = value;
if (iCount > 10)
TestOver("没有这么多钱 1000");
}
}
}
private delegateTest dtest = new delegateTest();
protected void Page_Load(object sender, EventArgs e)
{
dtest.TestOver +=new delegateTest.OverFlow(EventTest);
}
private void EventTest(string msg)
{
Response.Write("错误信息为:" + msg);
}
protected void Button1_Click(object sender, EventArgs e)
{
//dtest.AddNum =1000;
dtest.AddNum = 1100;
}
}
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
public class delegateTest
{
private int iCount;
public delegate void OverFlow(string msg);
public event OverFlow TestOver;
public int AddNum
{
get
{
return iCount;
}
set
{
iCount = value;
if (iCount > 10)
TestOver("没有这么多钱 1000");
}
}
}
private delegateTest dtest = new delegateTest();
protected void Page_Load(object sender, EventArgs e)
{
dtest.TestOver +=new delegateTest.OverFlow(EventTest);
}
private void EventTest(string msg)
{
Response.Write("错误信息为:" + msg);
}
protected void Button1_Click(object sender, EventArgs e)
{
//dtest.AddNum =1000;
dtest.AddNum = 1100;
}
}