1.什么是委托?委托就是存放方法的指针清单,也可以理解为指向一个函数的指针。2.委托的创建方式:
准备一个方法:String Hello(string name) {//方法代码}
声明委托:delegate 返回值类型 委托类型名(参数)
例子:delegate string DGSayHi(string name); 创建委托对象:DGSayHi dgSay=new DGSayHi(Hello);或者:DGSayHi dgSay=Hello;
追加方法:dgSay+=str.Hello2; 删除方法:dgSay-=str.Hello2;
3.委托的调用方式
dgSay("Tom");或者dgSay.Invoke("Tom");
4.委托的实例练习- /// <summary>
- /// 定义委托类型
- /// </summary>
- delegate void DGSayHi(string name);
- //声明一个委托对象
- DGSayHi dgSayHi = null;
- /// <summary>
- /// 声明一个与DGSayHi委托具有相同 签名的方法
- /// </summary>
- void SayHiHao(string name)
- {
- MessageBox.Show("您好," + name);
- }
- /// <summary>
- /// 声明一个与DGSayHi委托具有相同 签名的方法
- /// </summary>
- void SayHi(string name)
- {
- MessageBox.Show("Hi," + name);
- }
- private void btnTest_Click(object sender, EventArgs e)
- {
- //实例化委托对象
- dgSayHi = new DGSayHi(SayHiHao);
- //向委托对象追加一个方法
- dgSayHi += SayHi;
- //向委托对象删除一个方法
- dgSayHi -= SayHi;
- //调用委托对象
- dgSayHi("周星驰");
- }
复制代码 |