您好,登錄后才能下訂單哦!
本篇文章為大家展示了如何理解.NET靜態事件鏈,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
在我們日常開發過程中經常會遇到多個類實例之間的關聯,不管是B/S還是C/S的項目,在對實例的使用是一樣的;只不過C/S的項目比較好控制,不管是UI層的對象都能很好的控制,包括繼承、重寫等等;而在B/S里面可能不太方便。
由于B/S本身的特點,不能暴露內部太多的繼承關系,以免不小心破壞類的封閉性;我這主要是討論在多個類實例之間怎么進行動態關聯,比如我們在開發Winform項目的時候,可能會碰到兩個或多個窗口之間協同工作的情況;本人在這種情況下采用的是靜態事件鏈的解決方案,多個實例之間不存在主次之分,有人肯定會覺得在一個類中定義事件,在調用的類中去實例化并訂閱相關事件;這樣解決不了多實例互操作的關系。
比如:我有五個窗口分布在主界面中,當我點擊菜單欄中的一個刷新按鈕時,想讓這五個窗口同時刷新,這樣一來就必須讓這五個窗口實例都訂閱來自一個地方的事件;我為什么用靜態事件,就是為了方便多實例使用。
1、
2:
3:
圖3中是靜態事件鏈類的定義,定義一個靜態事件好一個靜態方法,注意本人在該類中也訂閱了ClickEvent事件,就是怕沒有任何實例訂閱這個靜態事件,然后又觸發了這個事件,導致空地址封送失敗,也就是空引用調用;
4:
圖4是模擬窗口的一個實現,在構造函數中我們訂閱了靜態事件鏈中的一個ClickEvent事件;其余四個窗口都是一樣的,我就不貼圖片了;
5:
6:
7:
靜態事件鏈就講完了,通過一點觸發多點的好方法,在我們開發過程中經常用到。
上述內容就是如何理解.NET靜態事件鏈,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。