关于我的绑定,我有一点奇怪的情况。
我有一些事件源,以及想要订阅它们的类。我将拥有不同的源实例(尽管它们都是相同的类),但订阅者的类型可能会在不同的类之间发生变化。
到目前为止我的方法是这样的:
public interface ISubscribeTo<T> where T : ISubscribable
{
void Subscribe(T eventSource);
}
public interface ISubscribable {}
我想让ISubscribeTo<T>
的任何类型都有一个ISubscribable
的实例在激活时传递给它。
当我使用ActivationStrategy
连接这些内容时,这非常简单。
我遇到的并发症是ISubscribeTo<T>
根据我激活的课程而有所不同。
在我的ActivationStrategy
中,我调用了内核的GetAll
方法,但我想以某种方式只获取已为请求激活的实例。< / p>
有没有人对我如何实现这一目标有任何建议?
答案 0 :(得分:1)
看看活动经纪人。它们使得从其他组件订阅事件变得非常容易,而无需添加自己的机制。见the tutorial
https://github.com/ninject/ninject.extensions.bbveventbroker