【问题标题】:Dependency Injection for models .net Core.net Core 模型的依赖注入
【发布时间】:2021-04-17 03:21:14
【问题描述】:

我有一个要填充模型类属性的类。如果我使用 new 关键字创建模型类实例,它会起作用。但这并不能满足依赖注入。

我们也从不在构造函数中传递模型对象作为参数。我们如何在不通过 DI 更新的情况下创建请求对象,即 myClass 中的模型?

这个场景是围绕机器人框架。

public class myDailog : ComponentDialog
{
    private readonly modelClass _req;
    private readonly serviceClass _sev

    public myDialog(IServiceProvider serviceProvider)
         : base(nameof(myDialog))
    {
        _sev = serviceProvider;
        modelClass _req = new modelClass();
    }

    public async Task<DialogTurnResult> method1()
    {
        req.name = "something";
        req.desc = "some description";
        // pass the req object to another service
        _sev.somemethod(req);
    }
}

【问题讨论】:

    标签: c# dependency-injection botframework


    【解决方案1】:

    模型类通常不使用依赖注入 (DI) 实例化。它们是从服务加载(读取案例)或使用新创建的(创建案例)。服务是你通过 CI 注入的依赖。

    【讨论】:

    • 感谢您的回复。我的案例是“创建案例”。所以你的意思是,它必须是 modelClass modelObj = new modelClass() 吗?
    • 是的。如果您有复杂的初始化,您还可以从服务中获取新实例。
    猜你喜欢
    • 2020-11-20
    • 2016-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-23
    • 1970-01-01
    • 2021-02-02
    • 1970-01-01
    相关资源
    最近更新 更多