在C#中所謂的委託就是用來做為函數指標,也就是幫函數取個別名
它是reference type
以下是個簡單的委託使用例子
public delegate void delegateHello(string param1);
public class program
{
static void Main()
{
delegateHello del1 = new delegateHello(sayHello);
del1("Mike");
Console.ReadKey();
}
static void sayHello(string name)
{
Console.WriteLine("Hello, {0}", name);
}
}
在這個例子中有個sayHello的函數,它的返回值是void,參數是一個string,這些在你建立delegate時要完全一樣
橘色的部分就是宣告delegate,而紅色就是宣告成為delegate的關鍵字,其中要注意到的是宣告的返回值是void,而參數也同樣是一個string,和sayHello是一致的.
黃色的部分就是將delegate實例化,其中綠色的部分就是要被委託的函數名,在此例中就是sayHello.
之後就可以使用實例化後的物件del1,並將Mike這個string傳送進函數裡,也就是del1代理了sayHello這個函數了.
文章標籤
全站熱搜