使用delegate關鍵字,來宣告一個函式類別:
所謂「函式類別」,又稱為「委派」,是指一專門用來儲存某個「已指定參數的函數」之型式。函式類別的宣告需利用到關鍵字delegate(其中文名稱為「委派」),宣告寫法如下:
存取修飾詞 delegate 回傳值的資料形態 委派名稱(變數型態一 參數一, 變數型態二 參數二, 變數型態三 參數三…);
接著可以宣告「委派物件」為某一個已寫好的函式,如下:
委派名稱 委派物件名稱 = 函式名稱;
注意,此函式之參數數量與參數型態必須與委派相同。
接著,我們可以直接使用該委派物件來代表該函式、執行該函式,如:
委派物件名稱(變數型態一 參數一, 變數型態二 參數二, 變數型態三 參數三…);
※ 範例如下:
public delegate double opration(double number1, double number2);
public double get_sum(double x, double y)
{ return x + y; }
public double get_average(double x, double y)
{ return (x + y)/2; }
public Form1()
{ InitializeComponent();}
private void Form1_Load(object sender, EventArgs e)
{
opration opration1 = get_sum; //此行利用委派代表get_sum函式
textBox1.Text = opration1(2, 3).ToString(); //此行利用委派執行get_sum函式
}
執行後,textBox中顯示:5。
若是將上述的
opration opration1 = get_sum;
改成
opration opration1 = get_average;
則便是利用同一個委派來代表、執行get_average函式。執行後,textBox中會顯示:2.5。
留言列表