ja z powodzeniem przy użyciu Ninject w moich aplikacji internetowych poprzez wyprowadzenie mój Global NinjectHttpApplication
i używając NinjectHttpModule
w moim web.configDI z Ninject w klasie Biblioteka
Co chcę zrobić teraz używa DI w jednym z moich bibliotek klasowych i nie wiem, jak to zrobić. Mam następujące klasy manekina:
/// <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;
}
}
Kiedy instancji Class1
i nazywają GetCustomer()
The CustomerRepository
jest zerowy, więc jestem oczywiście robi coś złego.
Również, jeśli mogę użyć konstruktora wtrysku i mam konstruktora jak
public Class1([Inject] ICustomerRepository repository)
jak pójdę o uruchamianiu Class1
?
Całkiem nowa dla Ninject, więc wszystko to może być bardzo proste.
Teraz to jest śmieszne – GONeale