dire che ho tali classi gerarchia:Ninject iniezione di dipendenza con Decorator modello
public interface IRepository { }
public class SomeSimpleRepository : IRepository {}
Ora voglio "decorare" SomeSimpleRepository con funzioni aggiuntive
public class MoreAdvancedRespository : IRepository
{
private readonly IRepository _originalRepository;
public MoreAdvancedRespository(IRepository original)
{ }
}
Dopo un po 'un altro ..
public class TrickyRepository : IRepository
{
private readonly IRepository _originalRepository;
public TrickyRepository (IRepository original)
{ }
}
Ora, ho bisogno di eseguire il binding. Nell'applicazione ho bisogno dell'istanza di TrickyRepository, da inizializzare con MoreAdvancedRespository. Così, ho bisogno di scrivere qualcosa di simile:
Bind<IRepository>().To<TrickyRepository>.With ??
Qui sono confuso, ho bisogno in qualche modo di dire, prendere MoreAdvancedRespository ma inizializzare con SomeSimpleRepository. Questo è un tipo di catena di dipendenze che devono essere risolti su un'interfaccia.
Qualcuno ha suggerimenti su questo?
possibile duplicato di [Come il binding viene eseguito con decoratori che utilizzano Ninject?] (Http://stackoverflow.com/questions/8447037/how-the-binding-are-done-with-decorators-using-ninject) –
Possibile duplicato di [Come si fa il binding con decoratori usando Ninject?] (Https://stackoverflow.com/questions/8447037/how-the-binding-are-done-with-decorators-using-ninject) – NightOwl888