estoy con éxito utilizando Ninject en mis aplicaciones web mediante la derivación de mi Global de NinjectHttpApplication
y utilizando el NinjectHttpModule
en mi web.configDI con Ninject en una biblioteca de clases
Lo que quiero hacer ahora está utilizando en una DI de mis bibliotecas de clase y no sé cómo hacer esto. Tengo la siguiente clase ficticia:
/// <summary>
/// Testing Ninject DI in a class library
/// </summary>
public class Class1
{
[Inject]
ICustomerRepository CustomerRepository { get; set; }
public string SomeText { get; set; }
public Class1(string text)
{
MyConfig config = new MyConfig();
config.Configure();
SomeText = text;
}
public Customer GetCustomer()
{
var customer = CustomerRepository.GetCustomer();
return customer;
}
}
public class MyConfig
{
public IKernel Configure()
{
IKernel kernel = new StandardKernel(new NinjectRepositoryModule());
return kernel;
}
}
Cuando instanciar y llamar Class1
GetCustomer()
, la CustomerRepository
es nula, así que obviamente estoy haciendo algo mal.
Además, si puedo usar la inyección de constructor y tener mi constructor como
public Class1([Inject] ICustomerRepository repository)
cómo hago para crear instancias de Class1
?
Bastante nuevo en Ninject, por lo que todo esto podría ser algo muy fácil.
Ahora que es divertido – GONeale