2009-09-25 11 views
7

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.

Odpowiedz