最近一直在做乙個新系統,其中小部分任務需要用到事件監聽觸發的過程。自己先練練手。
首先是,listener的**,監聽者監聽到事件後需要作出的反應。
public void reportwork(eventdata data)
public void finalinspect(eventdata data)
}}再來乙個事件資料類,在我們的系統裡,這種類就是資料庫資料乙個對映。我們可以把它理解為一條資料,一旦生成這個類物件即一條資料,即觸發上面的方法。
public string name1
public string value1
}}再來乙個抽象事件類及幾個具體事件類,用於建立上面的事件資料物件,相當於通過這些不同的類來生成不同型別的資料。
public void trigger(eventdata eventdata)
}} public override eventdata createeventdata(dictionarydic)
}} public override eventdata createeventdata(dictionarydic)
}} public override eventdata createeventdata(dictionarydic)
}}然後,我們通過反射的方式,建立我們想要的事件類,就是上面的三種。
}}然後,就是發布資訊的publisher了,給它也設三個方法,對應上述的類和方法。注意,不同的方法註冊不同的事件,可以傳引數。
public void reportwork()
public void finalinspect()
}}最後,我們在main方法中呼叫這些發布者的方法,看看能不能觸發監聽者們的回應。
public static void main(string args)
public static void testevent1()
執行一下,成功
謝謝大家!
c 反射機制 抽象工廠
using system.configuration 預設使用之前要新增引用對應的dll 之前用抽象工廠模式類名沒法變啊,還是要手動寫出要例項化的類,重新編譯 但是,反射機制的出現使得我們通過修改配置檔案無需再次編譯!具體如下 修改配置檔案的sqlserver即可 配置檔案 源 using syst...
C 事件發布與訂閱例題
要求 實現多個書店對應多個客戶的到書通知,且圖書領域與顧客的興趣領域一致才通知顧客 分析 首先,分析物件和屬性 書店 名稱 顧客 興趣領域 名稱 分析函式 興趣領域函式 書店 事件函式 新書到店 名稱函式 get set 顧客 名稱興趣領域函式 get set 通知函式 輸出語句 通知函式與事件函式...
C 委託事件機制 訂閱發布
在看下文的時候,你先要明白乙個問題,什麼是委託,什麼是事件。但其實很讓人頭疼無解的是,即使有的時候你明白了這些原理,但在實際的運用中還是一臉懵逼,無從下手。其實在很多的時候,你可能在wpf,winfrom的使用的多,不過這坑爹玩意又不能不去弄明白!委託和事件 委託 方法作另乙個方法的引數 和類一樣,...