C#委派

  • 190
  • 0
  • 2021-01-12

寫程式也一段時間,一直沒去搞懂一些東西

認真下定決心要去弄懂一些基礎知識

如有說錯也可以糾正<(-_-)>

1.如何建立委派

就跟建立一般方法一樣

差別在於多了一個delegate關鍵字,以及不需要實作該方法的程式碼

public delegate void Del(string message);

2.建立一個方法

但是特別注意,這個方法的回傳類型跟傳入參數,都要跟定義的委派一模一樣才可以

public static void DelegateMethod(string message)
{
    Console.WriteLine(message);
}

3.如何使用委派

接著定義一個Del類型的參數,再把建立的方法指派給他

相當於handler這個變數等於DelegateMethod方法

也可以想成透過handler去執行DelegateMethod方法或委託handler變數去執行DelegateMethod方法

接著在傳入需要變數,有點繞一圈的感覺

Del handler = DelegateMethod;
handler("hello world");

4.其他

每個委派的實體(handler),可以透過「+=」或是「-=」對他繫節多個方法,或是移除方法

方法執行順序當然就依照你的繫節先後順序執行