Dependency injection 如何使用.NET核心依赖项注入来解析需要对象的对象';谁的构造函数?

Dependency injection 如何使用.NET核心依赖项注入来解析需要对象的对象';谁的构造函数?,dependency-injection,.net-core,Dependency Injection,.net Core,在我的应用程序中,我有一个服务,它在其构造函数中接受一些设置 public class Service { private readonly Settings _settings public Service(Settings settings) { _settings = settings; } } public class Settings { // omitted for brevity } 在Startup.cs中配置DI时,我

在我的应用程序中,我有一个服务,它在其构造函数中接受一些设置

public class Service
{
    private readonly Settings _settings

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

public class Settings
{
   // omitted for brevity
}
Startup.cs中配置DI时,我添加了服务:

services.AddTransient<Service>();
services.AddTransient();
我不知道如何将DI容器配置为使用
Settings
对象。我该怎么做


我读过,但看不到如何通过接口在.NET works中进行依赖注入。在您的情况下,您需要创建一个接口,比如

public interface ISettings
{
    // necessary methods
}
并使您的
设置
类实现此接口。然后您需要更改
服务
类,并用接口替换类:

public class Service
{
    private readonly ISettings _settings

    public Service(ISettings settings)
    {
        _settings = settings;
    }
}
最后在
Startup.cs
中注册您的类
设置

services.AddTransient<ISettings, Settings>();
services.AddTransient();