深入理解 c 第二章 C 2在委託例項化上的改進

2021-08-18 04:07:58 字數 1405 閱讀 1719

class simplifieddelegates

static void main()

;handler(null, eventargs.empty);

handler = delegate

;handler(null, eventargs.empty);

mouseeventhandler mousehandler = handledemoevent;

mousehandler(null, new mouseeventargs(mousebuttons.none,

0, 0, 0, 0));

}}

eventhandler handler;

handler = new eventhandler(handledemoevent);

handler(null, eventargs.empty);

指定委託型別和方法 c#1

handler = handledemoevent;

handler(null, eventargs.empty);

隱式轉換成委託例項  方法組轉換使事件訂閱**看起來更友好

handler = delegate(object sender, eventargs e)

;handler(null, eventargs.empty);

用乙個匿名方法制定操作 讓操作變得更清晰

handler = delegate

;handler(null, eventargs.empty);

使用匿名方法的簡寫形式  不需要引數的時候可用

mouseeventhandler mousehandler = handledemoevent;

mousehandler(null, new mouseeventargs(mousebuttons.none,

0, 0, 0, 0));

使用委託逆變性  建立了mouseeventhandler的例項,不只是eventhandler例項 handledemoevent仍然可以使用 借助逆變性實現

輸出handled by handledemoevent

handled by handledemoevent

handled anonymously

handled anonymously

handled by handledemoevent

執行了兩次handledemoevent

建立執行了乙個匿名委託 

之後簡單建立執行了乙個匿名委託

逆變性  是mouseeventhandle物件 但是可以使用handledemoevent

深入理解 c 第二章 簡單的委託使用

delegate void stringprocessor string input class person public void say string message says name,message class background note description listing 2.1...

第二章 深入理解helloworld

1 static int init initialization function void 2 5module init initialization function 這裡要特別提出的就是,呼叫初始化函式當中的錯誤處理。由於初始化函式會呼叫很多的註冊設施函式,每乙個函式都有可能失敗,所以必須檢查...

C 例項 第二章

tips 1.int x,y 分號不要忘記!2.int count win 就是把列舉型別的資料win隱含轉換為整型,作為整型變數count的初值。3.count cancel也會把列舉型別資料cancel隱含轉換為count,再與count進行比較。4.result gameresult coun...