0

手动初始化类时如何进行构造函数注入?

public class ApiKeyHandler : DelegatingHandler
{
    private IApiService apiService;

    public ApiKeyHandler(IApiService apiService)
    {
        this.apiService = apiService;
    }
}

初始化:

var apiKey = new ApiKeyHandler(/*inject here */);

我该如何做到这一点?我的绑定和一切都已经设置好了。

4

1 回答 1

0

你想做这样的事情:

var apiKey = new ApiKeyHandler(kernel.Get<IApiService>());

但是,为什么不注入ApiKeyHandler自身呢?

var apiKey = kernel.Get<ApiKeyHandler>();

这是一篇关于 Ninject 的文章

您基本上想在代码的开头设置它并使其在全球范围内可用:

public IKernel kernel  = new StandardKernel();

...

kernel.Bind<IApiService>()
      .To<SomeConcreteApiService>();
于 2012-04-05T03:51:31.863 回答