C#委托基本使用
1,聲明委托(相當(dāng)于中介)(定義一個(gè)函數(shù)的原型:返回值+參數(shù)類型和個(gè)數(shù))
public delegate void show (string counter);
Public+委托(delegate)+參數(shù)類型+委托名稱+();
注意:委托的聲明需要定義到類的外面
2评疗,根據(jù)委托定義一個(gè)“具體方法”實(shí)現(xiàn)加法功能
注意:方法必須寫(xiě)到類里面
3测砂,創(chuàng)建委托對(duì)象,關(guān)聯(lián)“具體方法”(寫(xiě)到方法里)
用委托定義一個(gè)類型
4百匆,通過(guò)委托去調(diào)用方法(而不是直接使用方法)
-=//將委托變量所代表的具體方法“解綁”
+=//重新指向一個(gè)新的方法
委托:把方法調(diào)用和方法關(guān)聯(lián)起來(lái)
例一:namespace Demo
{
class Program
{
static void Main(string[] args)
{
//3砌些,創(chuàng)建委托對(duì)象,關(guān)聯(lián)具體方法
jisuan weituo = new jisuan(add);
//4加匈,通過(guò)委托調(diào)用方法
int result = weituo(10, 20);
Console.WriteLine("10 + 20= {0}",result );
weituo -= add;//斷開(kāi)當(dāng)前委托關(guān)聯(lián)的方法
weituo += sub;//重新指向一個(gè)新的方法
result = weituo(10, 20);//重新使用委托對(duì)象
Console.WriteLine("10 - 20= {0}", result);
Console.ReadLine();
}
//2存璃,根據(jù)委托定義一個(gè)具體方法
static int add(int a,int b)
{
return a + b;
}
//2,根據(jù)委托定義一個(gè)具體方法
static int sub(int a, int b)
{
return a - b;
}
}
//1雕拼,聲明委托
public delegate int jisuan(int a,int b);
}