9
Sulla base di questa domanda: Should thoses kind of service go injected in a base class ? (versus static classes).In che modo la rilegatura viene eseguita con decoratori che utilizzano Ninject?
Come si eseguirà la rilegatura con decoratori che utilizzano Ninject? o qualsiasi DIContainer?
public class CachedLoggedRepository : IRepository
{
public IRepository repository { get; set; }
void Add();
}
public class CachedRepository : IRepository
{
public IRepository repository { get; set; }
void Add();
}
public class Repository : IRepository
{
void Add();
}
Grazie per questa meravigliosa risposta. – Rushino
+1 E in alcuni casi (molto più rari), potresti usare un 'TImpl' generico, nel qual caso devi' Bind>(). A () 'come sopra - in questo caso tu usa una clausola '.When' leggermente diversa che [vincola] (https://github.com/ninject/ninject/wiki/ContestualBinding) basata sul tipo generico di base del tipo di calcestruzzo in cui viene iniettato. Un'altra cosa utile da tenere a mente è che se dovessi trovare qualcosa di leggermente diverso da ciò che è necessario, otterrai la fonte Ninject e troverai i file/analisi statica attraverso di essa per trovare esempi - ad es. guarda a 'WhenInjectedInto' –
Come si può fare quando si configurano più dipendenze per convenzione? – Rookian