2010-07-13 103 views
0

我想在WPF應用程序中實現一個簡單的Subscribe/Publish機制,這樣我就可以訂閱來自應用程序中不同位置的事件,指定事件類型和處理程序方法,然後在發佈事件時,我的機制將調用所有訂閱方法對用戶。我不能使用RoutedEvent,因爲我想自由地提出事件而不會被強制轉換爲可視化樹。WPF c#訂閱/發佈事件機制使用反射 - 對或錯?

我能夠實現上述使用C#反射。但是因爲我對c#和WPF(來自Java)非常陌生,所以我想確保這是首選方式。

是嗎?

非常感謝,

+0

您可以使用反射(會有一個性能命中),但我不確定它是否最適合您。你能舉一個你想要完成的例子嗎?也許有些僞代碼? – JMarsch 2010-07-13 15:13:45

+0

謝謝。我在使用反射,因爲我沒有意識到可以用來傳遞方法引用的Action類。謝謝!! – OrPaz 2010-07-14 07:13:09

回答

2

它看起來像你想從Prism框架"Event Aggregator"模式。當然你可以自己實現它,但我不明白你爲什麼需要反思。

+0

正是我在找什麼!我已經實現了這些,我只需要替換我使用的Action類的反射用法,該類可以用來將引用傳遞給subsriber方法。 'EventAggregator'是否可以作爲圖書館下載?或者它只是一種模式?謝謝。 – OrPaz 2010-07-14 07:16:45

+0

它在Prism框架中實現(請參閱我的答案中的鏈接),它可從codeplex.com下載。 – 2010-07-14 17:08:19