2012-04-29 103 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