2009-09-25 45 views
7
我成功地利用Ninject在我的web應用程序通過派生我從全局和 NinjectHttpApplication在我的web.config使用 NinjectHttpModule

DI與Ninject在類庫

我現在想做一個正在使用DI

我的班級圖書館,我不知道如何去做這件事。我有以下的僞類:

/// <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; 
    } 
} 

當我實例Class1並調用GetCustomer()CustomerRepository爲空,所以我明明做錯事。

另外,如果我使用構造器注入,有我喜歡的構造

public Class1([Inject] ICustomerRepository repository) 

我將如何去實例Class1

相當新的Ninject,所以這可能都是非常容易的東西。

回答