如何使用.NET Core依赖注入来解析一个对象需要一个对象的构造函数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用.NET Core依赖注入来解析一个对象需要一个对象的构造函数?相关的知识,希望对你有一定的参考价值。
在我的应用程序中,我有一个服务,它在它的构造函数中进行一些设置
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>();
我不知道配置DI容器使用
Settings
对象。我怎样才能做到这一点?
我读过the official documentation,但我看不出怎么做
答案
.NET中的依赖注入通过接口工作。在你的情况下,你需要创建一个界面,如
public interface ISettings
{
// necessary methods
}
并使您的Settings
类实现此接口。然后你需要改变你的Service
类并用接口替换class:
public class Service
{
private readonly ISettings _settings
public Service(ISettings settings)
{
_settings = settings;
}
}
最后在Settings
注册你的班级Startup.cs
:
services.AddTransient<ISettings, Settings>();
以上是关于如何使用.NET Core依赖注入来解析一个对象需要一个对象的构造函数?的主要内容,如果未能解决你的问题,请参考以下文章