sto usando con successo Ninject nelle mie applicazioni web derivando la mia globale da NinjectHttpApplication
e utilizzando il NinjectHttpModule
nel mio web.configDI con Ninject in una libreria di classi
Quello che voglio fare ora sta usando DI in uno delle mie biblioteche di classe e non so come andare su questo. Ho la seguente classe dummy:
/// <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;
}
}
Quando un'istanza di Class1
e chiamo GetCustomer()
, il CustomerRepository
è nullo, quindi sto ovviamente facendo qualcosa di sbagliato.
Inoltre, se uso l'iniezione costruttore e avere il mio costruttore come
public Class1([Inject] ICustomerRepository repository)
come potrei fare per un'istanza Class1
?
Abbastanza nuovo per Ninject, quindi tutto questo potrebbe essere molto facile.
Ora che è divertente – GONeale