2009-09-25 13 views
7

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.

risposta

Problemi correlati