2012-04-29 43 views
0

我在綁定方面有一些奇怪的情況。Ninject上下文綁定魔術

我有幾個事件源和想要訂閱它們的類。我將擁有不同的源代碼實例(儘管它們都是相同的類),但是訂閱者的類型可能會在不同的類之間發生變化。

我的做法,到目前爲止是這樣的:

public interface ISubscribeTo<T> where T : ISubscribable 
{ 
    void Subscribe(T eventSource); 
} 

public interface ISubscribable {} 

我希望有任何類型是ISubscribeTo<T>ISubscribable通過它在激活傳遞的一個實例。

當我使用ActivationStrategy來連接這些東西時,這是非常微不足道的。

我的併發症是,ISubscribeTo<T> s取決於我激活的類別。

在我的ActivationStrategy中,我調用了內核的GetAll方法,但我想以某種方式只獲取已爲請求激活的實例。

有沒有人有關於如何實現這一目標的建議?

回答

1

看看活動的經紀人。他們可以很容易地訂閱來自其他組件的事件,而無需添加自己的機制。見the tutorial

https://github.com/ninject/ninject.extensions.bbveventbroker