天天看點

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

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

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

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

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

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

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

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

4、項目名稱,此處叫DelegateTestLibrary

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

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

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

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

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

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

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

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

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

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

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

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

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

10、在控制台program檔案裡面,執行個體化剛才的測試對象,然後進行測試。

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

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

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

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

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

歡迎加入QQ群:

群号:1079830632

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