Ho una classe che deve utilizzare un IRepository per un metodo nella sua classe.Come si utilizza l'iniezione del metodo con Ninject?
Idealmente, vorrei evitare di dover risolvere questa dipendenza nel costruttore della classe, quindi ho trovato l'iniezione a livello di metodo in Ninject e mi chiedevo come funziona?
Capisco come configurarlo. Quello di cui sono confuso è come chiamarlo?
Esempio:
class SomeClassThatUsesRepository
{
[Inject]
public void QueryForSomeStuff(IRepository repository)
{
//do some stuff
}
}
mio problema è come faccio a chiamare questo metodo senza specificare un IRepository?
var someClass = Kernel.Resolve<SomeClassThatUsesRepository>();
funzionerebbe se stavo usando il costruttore, ma voglio chiamare un metodo.
Come si chiama un metodo utilizzando l'iniezione del metodo Ninject?
+1 ottima spiegazione. Vorrei solo ricordare che simula la costruzione in due fasi, ad esempio, come se il metodo fosse chiamato Initialize() –