如何使用.NET Core依赖项注入来解析需要对其构造函数使用对象的对象?

时间:2019-04-14 12:55:48

标签: dependency-injection .net-core

在我的应用程序中,我有一个服务,该服务在其构造函数中进行了一些设置

python -c "import theano; print (theano.__version__)"

df.groupby(['cod_interno', 'unidade_lojas', 'data']).apply(lambda x : x.resample('D').ffill()).reset_index(level=0,drop=True) 中配置DI时,我添加了服务:

public class Service
{
    private readonly Settings _settings

    public Service(Settings settings)
    {
        _settings = settings;
    }
}

public class Settings
{
   // omitted for brevity
}
  

我不知道将DI容器配置为使用Startup.cs对象。我该怎么办?

我已阅读the official documentation,但看不到该怎么做

1 个答案:

答案 0 :(得分:2)

.NET中的依赖注入通过接口工作。在您的情况下,您需要创建一个界面,例如

public interface ISettings
{
    // necessary methods
}

并使您的Settings类实现此接口。然后,您需要更改Service类,并用接口替换该类:

public class Service
{
    private readonly ISettings _settings

    public Service(ISettings settings)
    {
        _settings = settings;
    }
}

最后在Settings中注册您的课程Startup.cs

services.AddTransient<ISettings, Settings>();