事件與委託

2021-08-08 14:00:43 字數 896 閱讀 7602

我想大概得是這麼乙個故事吧!

using system;

namespace 起床事件

public delegate void 這是乙個委託();

public class 室友

console.writeline("室友:完事走人,晨跑去!");

}public event 這是乙個委託 叫別人起床該幹嘛幹嘛;

}public class 要晨讀的我

}public class 王八犢子}}

}

覺得這樣直接貼**,不做解釋的話,可能還令人不太理解,再補充下概念。

方法:具體去做什麼事實際內容,可以是早讀,晨跑,或者是叫別人起床。

委託:將方法當做值。就像整數型值3能賦給乙個int型別的變數,方法可以賦值給相同引數的委託型別變數。通過關鍵字delegate定義。

事件:乙個需要先定義的委託型別關鍵字event來定義。具體就是可以承載方法。

事件的用法:不講編譯器幫我們做的正規使用方法,因為我自己也不太清楚。直接用語法糖,事件變數 += 需要掛接的方法.然後就是在內部處理,何時去觸發這個事件了事件變數(),當然其形參的定義就看委託型別的定義了,亦可以將事件變數裡面的掛接的方法逐個處理,這就等理解事件並能簡單實用後,再去查資料啦~~

ps:可能我理解的有些誤區,但管他呢我知道這麼用能完成我的需求。原理什麼的想知道的話看書去啦!

委託與事件

1.建立乙個類,分別建立加 減 乘 除四個方法,通過委託和事件,實現 輸入兩個計算數,完成所有的四個方法的呼叫,計算出結果顯示。建立乙個警察 policeman 類,乙個小偷 thief 類,例項化兩個類的物件,當policeman類中警笛鳴響 alarm 方法執行時,觸發小偷逃跑 runaway ...

委託與事件

委託就是以方法做引數進行傳遞,它定義的是方法的框架,如果用這個委託,所宣告的方法就必須按照給定的引數及返滬型別進行處理。宣告委託的方式 delegate 返回值型別 委託型別名 引數 比如delegate void stringprocess string s 注意這裡的除了前面的delegate,...

委託與事件

委託與事件 一 委託 delegate 1 委託是一種可以把引用儲存為函式的型別。2 在定義了委託後,就可以宣告該委託型別的變數,接著把這個變數初始化為與委託有相同返回型別和引數類別的函式引用,之後,就可以使用委託變數呼叫這個函式,就像該變數是乙個函式一樣。如 double multiply dou...