在类库中使用Ninject进行依赖注入

7

我已经成功地在我的Web应用程序中使用Ninject,通过将我的Global类派生自NinjectHttpApplication并在我的web.config中使用NinjectHttpModule

现在我想在我的一个类库中使用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还比较新,所以这可能很容易。

1个回答

3

9
那真有趣。 - GONeale

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接