j'ai plusieurs projets faisant référence à un emballage contenant interface génériqueRebind interface générique dans Ninject
public interface IHandler<T> where T : class
{
void Handle(T data);
}
Ces projets contiennent IHandler<>
implémentations et les modules Ninject avec les fixations de l'interface de mise en oeuvre.
Je veux créer décorateur pour toutes IHandler<>
implémentations
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
}
}
et décorer toutes les liaisons de IHandler<>
enregistrées automatiquement. Par exemple. s'il existe une liaison de IHandler<string>
et StringHandler
, la cible doit être remplacée par new HandlerDecorator<string>(stringHandlerInstance)
.
Est-ce possible dans Ninject? Ou je devrais réécrire tout le code des modules Ninject?