在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這個函數了.

arrow
arrow
    文章標籤
    c# delegate howto sample code
    全站熱搜

    痞客興 發表在 痞客邦 留言(0) 人氣()