ich mehrere Projekte haben ein Paket enthalten generische Schnittstelle ReferenzierungRebind generische Schnittstelle in Ninject
public interface IHandler<T> where T : class
{
void Handle(T data);
}
Diese Projekte enthalten IHandler<>
Implementierungen und Ninject Module mit Bindungen von der Schnittstelle zu Implementierungen.
möchte ich Dekorateur für alle
public class HandlerDecorator<T> : IHandler<T> where T : class
{
private readonly IHandler<T> decorated;
public HandlerDecorator(IHandler<T> decorated)
{
this.decorated = decorated;
}
public void Handle(T data)
{
// some logic
}
}
IHandler<>
Implementierungen erstellen und alle registrierten Bindungen von
IHandler<>
automatisch dekorieren. Z.B. Wenn eine Bindung von
IHandler<string>
und
StringHandler
vorhanden ist, sollte das Ziel auf
new HandlerDecorator<string>(stringHandlerInstance)
geändert werden.
Ist es in Ninject möglich? Oder ich sollte alle Ninject Module Code neu schreiben?