私のバインディングに関しては、ちょっとした奇妙な状況があります。Ninjectコンテキストバインディングマジック
私はいくつかのイベントソースと、それらにサブスクライブしたいクラスがあります。私はソースの異なるインスタンスを持っていますが(それらはすべて同じクラスです)、サブスクライバのタイプは異なるクラス間で変更される可能性があります。私はISubscribeTo<T>
が活性化にそれを通過ISubscribable
のインスタンスを持っている任意の型を持ちたい
public interface ISubscribeTo<T> where T : ISubscribable
{
void Subscribe(T eventSource);
}
public interface ISubscribable {}
:
これまでの私のアプローチは、このようなものです。
ActivationStrategy
を使用してこれらを結ぶと、これはかなり簡単です。
私が抱えている合併症は、私がどのクラスを起動しているかによって変わってきます。ISubscribeTo<T>
です。
私のActivationStrategy
では、私はカーネルのGetAll
メソッドを呼び出していますが、どういうわけか、要求に対してすでにアクティブ化されているインスタンスしか取得しないとします。
私はこれをどのように達成することができるかについての提案はありますか?