0

我的绑定有点奇怪。

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

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

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

public interface ISubscribable {}

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

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

我遇到的复杂情况是ISubscribeTo<T>s 取决于我正在激活的类。

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

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

4

1 回答 1

1

看看事件经纪人。它们使订阅来自其他组件的事件变得非常容易,而无需添加自己的机制。看教程

https://github.com/ninject/ninject.extensions.bbveventbroker
于 2012-04-30T08:20:58.757 回答