Tengo una clase que necesita usar un IRepository para un método en su clase.¿Cómo se usa el método de inyección con Ninject?
Idealmente, me gustaría evitar tener que resolver esta dependencia en el constructor de la clase, así que encontré la inyección de nivel de método en Ninject y me preguntaba cómo funciona esto?
Entiendo cómo configurarlo. Lo que estoy confundido es cómo llamarlo?
Ejemplo:
class SomeClassThatUsesRepository
{
[Inject]
public void QueryForSomeStuff(IRepository repository)
{
//do some stuff
}
}
Mi problema es ¿cómo puedo llamar a este método sin especificar una IRepository?
var someClass = Kernel.Resolve<SomeClassThatUsesRepository>();
funcionaría si yo estaba usando el constructor, pero quiero llamar a un método.
¿Cómo llamo a un método usando inyección de método Ninject?
+1 gran explicación. Solo mencionaría que imita la construcción de dos fases, es decir, como si el método se llamara Initialize() –