2009-09-25 7 views
7

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 Class1GetCustomer(), 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.

Respuesta

Cuestiones relacionadas