2016-03-28 55 views
0

我這樣做是爲了發佈/一個模塊內訂閱事件:如何訂閱來自不同模塊/組件的事件?

eventAggregator.GetEvent<StudioEnableEvent>().Publish((bool)arguments.ElementAt(1)); 

然後:

eventAggregator.GetEvent<StudioEnableEvent>().Subscribe(GetStudioEnableFromImport); 

和StudioEnableEvent很簡單:

public class StudioEnableEvent : PubSubEvent<bool> 
    { 
    } 

現在我想辦相同,但對於位於兩個不同模塊中的發佈者和訂閱者,並且不需要參考模塊組件。

回答

2

解決此問題的最佳方法是在解決方案中有所有模塊項目都可以引用的另一個項目。我喜歡叫我的核心,或沿着這條線。在那裏,我創建了事件類,這樣我可以在所有模塊中共享它們。您也可以在此項目中聲明任何其他共享資源。

+0

是的,我也在想這個。我已經爲共享的接口做了這個,但我只是想知道是否有更好的方法。謝謝。 – Ivan

+1

我想不出一個更好的方法。我喜歡這些集中式項目;他們適合舉辦活動,例外,簡單的服務等。 –