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

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

     編輯:關於C語言

輸出雙語問候。委托總結:委托是類,定義方法類型,讓方法可作參數傳遞,避免大量 if-else/switch,提升擴展性。

將方法綁定到委托

委托變量用法類似 string:

static void Main() {
    GreetingDelegate delegate1, delegate2;
    delegate1 = EnglishGreeting;
    delegate2 = ChineseGreeting;
    GreetPeople("Jimmy Zhang", delegate1);
    GreetPeople("張子陽", delegate2);
}

委托特有特性:多個方法可綁定同一委托,調用時依序執行:

static void Main() {
    GreetingDelegate delegate1;
    delegate1 = EnglishGreeting;  // 首次賦值用 =
    delegate1 += ChineseGreeting; // 後續綁定用 +=
    GreetPeople("Jimmy Zhang", delegate1);
}

輸出雙語問候 "Jimmy Zhang"。也可繞過 GreetPeople 直接調用委托:

delegate1("Jimmy Zhang");

注意:首次必須用 =,直接用 += 會報「使用未賦值變量」錯誤。簡化寫法:

GreetingDelegate delegate1 = new GreetingDelegate(EnglishGreeting);
delegate1 += ChineseGreeting;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved