Ninject上下文绑定魔法

时间:2012-04-29 11:44:31

标签: ninject

关于我的绑定,我有一点奇怪的情况。

我有一些事件源,以及想要订阅它们的类。我将拥有不同的源实例(尽管它们都是相同的类),但订阅者的类型可能会在不同的类之间发生变化。

到目前为止我的方法是这样的:

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

public interface ISubscribable {}

我想让ISubscribeTo<T>的任何类型都有一个ISubscribable的实例在激活时传递给它。

当我使用ActivationStrategy连接这些内容时,这非常简单。

我遇到的并发症是ISubscribeTo<T>根据我激活的课程而有所不同。

在我的ActivationStrategy中,我调用了内核的GetAll方法,但我想以某种方式只获取已为请求激活的实例。< / p>

有没有人对我如何实现这一目标有任何建议?

1 个答案:

答案 0 :(得分:1)

看看活动经纪人。它们使得从其他组件订阅事件变得非常容易,而无需添加自己的机制。见the tutorial

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