Ninject上下文绑定魔术

Ninject上下文绑定魔术,ninject,Ninject,我的绑定有点奇怪 我有一些事件源,以及想要订阅它们的类。我将有不同的源实例(尽管它们都是相同的类),但订阅者的类型可能会在不同的类之间发生变化 到目前为止,我的方法是这样的: public interface ISubscribeTo<T> where T : ISubscribable { void Subscribe(T eventSource); } public interface ISubscribable {} 公共接口已订阅,其中T:issubscribable

我的绑定有点奇怪

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

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

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

public interface ISubscribable {}
公共接口已订阅,其中T:issubscribable
{
无效订阅(T事件源);
}
公共接口可订阅{}
我想让
issubscribe的任何类型在激活时传递
issubscribable
的实例

当我使用
ActivationStrategy
来连接这些东西时,这是非常简单的

我遇到的复杂情况是,
issubscribeto
s根据我激活的类而变化

在我的
ActivationStrategy
中,我调用了内核的
GetAll
方法,但我希望以某种方式只获取已经为请求激活的实例


有人对我如何做到这一点有什么建议吗?

看看事件代理。它们使从其他组件订阅事件变得非常容易,而无需添加自己的机制。看

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