我是C#的新手,所以這可能只是我不瞭解某些基本的東西或錯過了某些語言功能。我在網上搜索過,但是我似乎找到的所有例子在一個類中都有一切(換句話說,它們定義了事件以及事件觸發時執行的方法),這不是我想要的。如何實現這種事件監聽器設計?
對於我的場景,我想定義一個監聽器方法的接口,它可以接受一些自定義參數(這將是我自己的EventArgs的權利?),它提供了說明。讓我們假裝它的一輛車,所以我有一個名爲方法:
- 開始(MyCustomParameters PAR)
- 加速(MyCustomParameters PAR)
- 減速(MyCustomParameters PAR)
,然後我想能夠創建提供這些方法的實際實現的類。
完全與這一切分開,我有一個基於外部過程定期執行的類,我希望它負責觸發這些事件(汽車啓動和加速等)。
這是我努力工作的基礎知識,但至今沒有運氣。另外還有一個後續問題。如果我的偵聽器實現類需要維護給定調用中的任何一種狀態,那麼最好如何做到這一點(例如,說當加速被調用時,它希望能夠將加速後的速度返回到調用器的調用者事件 - 例如80公里)
希望你能因此,幫助,我非常感謝你
我認爲你正在尋找依賴注入。您將需要實現類,一個類來管理實現的實例,然後需要一個處理實現的業務邏輯的監聽器類。您需要確定接口方法的返回類型,以便您的處理程序/偵聽器在觸發時可以執行必要的操作。 –
@Evan L我前幾天實際上對DI進行了一些閱讀,雖然看起來很酷,但對於像這樣簡單的事情,我只想讓一個類觸發事件,另一個類來處理它們似乎有點矯枉過正?是什麼讓你說DI在這裏是必要的? – Grudge