c 委託與事件

2021-07-24 03:55:26 字數 685 閱讀 4306

推薦閱讀:

簡單來說:委託是乙個類,它定義了方法的型別,使得可以將方法當作另乙個方法的引數來進行傳遞,這種將方法動態地賦給引數的做法,可以避免在程式中大量使用if-else(switch)語句

舉例:有a(string name) b(string name)  c (string name) 三個方法

現在呼叫哪個方法不確定。那麼需要將方法作為引數傳遞,這個涉及到對映,是乙個難點,具體可以參考我的對映教程。此處假設已經完成了方法與引數的對映。

如果不用委託

則程式需要判斷

if(a)

else if(b)

else(c)

採用委託則會簡單很多

參第乙個鏈結

//注意此方法,它接受乙個greetingdelegate型別的方法作為引數

private static void greetpeople(string name, greetingdelegate makegreeting)

此處就能將方法作為makegreeting引數傳遞,然後呼叫makegreeting(name);即呼叫對應的方法。

事件:對委託進行了封裝

區別委託

事件是否可以使用=來賦值是否

是否可以在類外部進行呼叫是否

是否是乙個型別

是否,事件修飾的是乙個物件

c 委託與事件

c 委託與事件 心得 c 用委託來實現事件通知機制。委託相當與c 函式指標。整個過程涉及乙個呼叫者,乙個被呼叫者,還有就是這個委託。實現步驟有以下幾步 1.申明委託,2.定義呼叫者和呼叫的函式,3.定義被呼叫者和具體實現的函式 被呼叫的函式 1.申明委託 在包裡或者類裡,public public ...

C 委託與事件

在c 中,委託類似於c 中的 機制,宣告乙個委託型別,可以分別採用例項方法和靜態方法例項化了委託,所不同的是採用靜態方法例項化的委託,它的 target 屬性為null 而用例項方法例項化的委託,它的 target 屬性為該例項。但是這裡要注意,如果你用 console.writerline del...

C 委託與事件

1.泛型委託 泛型型別 是可適應對多種資料型別執行相同功能的單個程式設計元素。定義泛型類或過程時,無需為可能需要對其執行該功能的每個資料型別定義單獨版本。就好比是帶有可拆卸刀頭的螺絲刀。您檢查需要擰動的螺絲,然後選擇適合該螺絲的刀頭 一字 十字 星形 將正確的刀頭插入到螺絲刀柄上後,您就可以使用螺絲...