【.Net】使用委託實現被引用的項目向上級項目的消息傳遞事件

 

前言:在實際項目過程中,經常可能遇到被引用的項目要向上傳遞消息,但是又不能通過方法進行返回等操作,這個時候委託就派上用場了。以下使用委託,來實現被引用的項目向上傳遞消息的小教程,歡迎各位大佬提供建議。

1、新增控制台項目(一般在CS架構中會用的比較多,用於跨執行緒傳遞消息使用)。此處用一個控制台項目來模擬演示使用委託進行消息事件的傳遞教程。

 

 

 

 

2、新增了一個.net 6控制台項目,然後先放一邊,後面使用。

 

 

 

 

 

3、在解決方案下面新增一個類庫項目。

 

 

 

4、項目名稱,此處叫DelegateTestLibrary

 

 

 

 

 

5、在新建的項目裡面,新增一個測試類TestService,並在類上面定義一個帶有兩個string參數的公開的委託TestDelegate(string par1,string par2);

參數類型可以自由定義,用於傳遞消息使用。

 

 

 

 

6、然後在類裡面新增一個事件,事件類型為委託名稱。並且定義一個方法,叫DoDelegateHandle,可以做個簡單處理,然後用於給事件傳遞消息使用。參數可以自定義。或者確保OnTest事件不為null的情況下,也可以省略這一步操作,直接丟數據。

 

 

 

 

7、新增一個測試方法,用來傳遞消息。傳遞的消息參數有當前的數值嗎,以及時間。

 

 

 

 

8、控制台項目引用剛才的類庫項目。

 

 

 

 

9、控制台項目新增一個中間類,用於做測試使用。並且在構造函數內定義事件。

寫事件的時候,VS自帶快捷鍵,+=以後,可以按Tab按鍵,會自動生成一個對應的事件方法,並且參數和委託的參數保持一致。在裡面進行修改一些業務就可以了。

 

 

 

 

10、在控制台program文件裡面,實例化剛才的測試對象,然後進行測試。

 

 

 

 

11、啟動項目,可以看到被引用的項目裡面執行消息傳送的地方(TestService)所發送的消息,被傳到了Realization類裡面的事件方法裡面去了。

 

 

 

 

12、總結一下:委託和事件在傳統的開發過程中很常見,應該很多大佬們都會。如果以前沒有玩過委託的大佬們,可以自行嘗試玩玩。祝大佬們玩程式碼愉快~~也歡迎留下寶貴的建議、或點贊或推薦,感謝~~

 

創作不易,且轉且留下出處://www.cnblogs.com/weskynet/p/15652569.html