首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 委托與事件詳解(四)

     編輯:關於C語言

委托實例化語法與類相似。嘗試用 new GreetingDelegate() 避免首次綁定不能用 += 的錯誤:

GreetingDelegate delegate1 = new GreetingDelegate();
delegate1 += EnglishGreeting;
delegate1 += ChineseGreeting;

但報錯:GreetingDelegate 無無參構造函數。編譯提示暗示委托有帶參數的構造函數。

解除綁定用 -=:

static void Main() {
    GreetingDelegate delegate1 = new GreetingDelegate(EnglishGreeting);
    delegate1 += ChineseGreeting;
    GreetPeople("Jimmy Zhang", delegate1);
    Console.WriteLine();
    delegate1 -= EnglishGreeting;
    GreetPeople("Jimmy Zhang", delegate1); // 僅調用 ChineseGreeting
}

輸出先雙語,後僅中文。委托支援動態增減方法,構建靈活的調用鏈。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved