ビンディングに関しては、少し奇妙な状況があります。
いくつかのイベント ソースと、それらをサブスクライブしたいクラスがあります。ソースのインスタンスは異なりますが (すべて同じクラスになりますが)、サブスクライバーの型はクラスによって異なる場合があります。
これまでの私のアプローチは次のようなものです。
public interface ISubscribeTo<T> where T : ISubscribable
{
void Subscribe(T eventSource);
}
public interface ISubscribable {}
アクティベーション時に渡されISubscribeTo<T>
たのインスタンスを持つ任意のタイプが必要です。ISubscribable
ActivationStrategy
を使用してこれらのものを配線する場合、これは非常に簡単です。
私が持っている複雑な点は、ISubscribeTo<T>
アクティブ化しているクラスによって s が異なることです。
私のActivationStrategy
では、カーネルのGetAll
メソッドへの呼び出しがありますが、リクエストに対して既にアクティブ化されているインスタンスのみを何らかの方法で取得したいと考えています。
これを達成する方法について何か提案はありますか?