開始使用委託

2022-05-06 06:39:12 字數 1421 閱讀 8244

委託

是一種安全地封裝方法的型別,它與 c 和 c++ 中的函式指標類似。與 c 中的函式指標不同,委託是物件導向的、型別安全的和保險的。委託的型別由委託的名稱定義。

public

delegate

int outputpoint(int x, int y);

構造委託物件時,通常提供委託將包裝的方法的名稱或使用

匿名方法

。例項化委託後,委託將把對它進行的方法呼叫傳遞給方法。呼叫方傳遞給委託的引數被傳遞給方法,來自方法的返回值(如果有)由委託返回給呼叫方。這被稱為呼叫委託。可以將乙個例項化的委託視為被包裝的方法本身來呼叫該委託。

class program

2:
11:
12:

static

void main(string args)

13:
17:     }

這會輸出:

3
5

**的另乙個常見用法是定義自定義的比較方法並將該委託傳遞給排序方法。它允許呼叫方的**成為排序演算法的一部分。

delegate

int outputpoint(int x, int y);

public

static

int delegatemethod(int x, int y)

public

static

void callbacktest(int x, int y, outputpoint callback)

static

void main(string args)

下面函式呼叫會輸出:

4
5

呼叫委託時,它可以呼叫多個方法。這稱為多路廣播,乙個方法可稱為單路廣播。若要向委託的方法列表(呼叫列表)中新增額外的方法,只需使用加法運算子或加法賦值運算子(「+」或 「+=」)新增兩個委託。例如:

outputpoint handler2 = delegatemethod;
outputpoint handler3 = delegatemethod;
outputpoint handler4 = handler2 + handler3;
system.console.writeline(handler4(2, 3));

會輸出:

3
2
3
5

於委託型別派生自 system.delegate,所以可在委託上呼叫該類定義的方法和屬性。例如,為了找出委託的呼叫列表中的方法數

開始使用Unix

本人使用的macbook pro md101,通過mac的終端登入到unix系統。登入unix系統 首先在終端中輸入login,然後終端會顯示login 然後輸入使用者標識,按return後,會顯示password 輸入密碼即可登入,隨後會顯示上次登入的時間以及使用的終端,無論何時,你都要花時間檢查...

開始使用Gulp

結語參考與擴充套件 接觸gulp不多,感觸卻多。不過一句話 省了好多麻煩。如果你也是做web前端的,並且也想更加便捷高效的去完成自己的專案,那麼可以嘗試使用一下gulp。首先看看gulp的定義 gulp是乙個基於流的自動化構建工具。大家都明白什麼是自動化 就是懶人不用動手了唄 構建工具就是說這是乙個...

MQTT 開始使用

嵌入式 個人開發環境 ubuntu 14.04 mqtt messagequeueing telemetry transport protocol 全稱 訊息佇列遙感傳輸協議,是ibm開發的乙個即時通訊協議。mqtt是面向m2m和物聯網的連線協議,執行在tcp協議棧之上,採用輕量級發布和訂閱訊息傳輸...