已解决
.net core DI注入,构造函数含有动态参数
来自网友在路上 162862提问 提问时间:2023-09-27 03:24:44阅读次数: 62
最佳答案 问答题库628位专家为你答疑解惑
使用.net core 开发的时候我们使用依赖注入来实例化需要的服务等,有时候这个服务类的构造函数是有参数的,此时想使用依赖注入就变得很麻烦。我们可以采用工厂模式,去构造demo如下
- person类
namespace DIDynamicConstructorParams.TestDI
{public class Person{public string Name { get; set; }public int Age { get; set; }private ILogger<Person> _loggerFactory;public Person(string name,int age, ILogger<Person> loggerFactory){Name = name;Age = age;_loggerFactory = loggerFactory;}public string SayHello(){_loggerFactory.LogInformation("just a test");return $"hello {Name},my age is {Age}";}}
}
- 构造person的接口
namespace DIDynamicConstructorParams.TestDI
{public interface DIPersonFactory{Person CreatePerson(string name,int age, ILogger<Person> logger);}
}
- 接口实现
namespace DIDynamicConstructorParams.TestDI
{public class DI : DIPersonFactory{public Person CreatePerson(string name, int age,ILogger<Person> logger){return new Person(name, age,logger);}}
}
- 注册
builder.Services.AddScoped<DIPersonFactory,DI>();
- 依赖注入生成person类
using DIDynamicConstructorParams.TestDI;
using Microsoft.AspNetCore.Mvc;// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860namespace DIDynamicConstructorParams.Controllers
{[Route("api/[controller]/[action]")][ApiController]public class DIController : ControllerBase{private readonly DIPersonFactory _dIPersonFactory;private ILogger<Person> _loggerFactory;public DIController(DIPersonFactory dIPersonFactory, ILogger<Person> loggerFactory){_dIPersonFactory = dIPersonFactory;_loggerFactory = loggerFactory;}[HttpGet]public string Test([FromQuery] string Name, [FromQuery] int Age){Person person = _dIPersonFactory.CreatePerson(Name, Age,_loggerFactory);return person.SayHello();}}
}
https://stackoverflow.com/questions/41669433/net-core-dependency-injection-with-parameters-on-constructor
https://code-maze.com/dotnet-using-constructor-injection/
查看全文
99%的人还看了
相似问题
- MeterSphere | 接口测试请求体中,int类型的入参实现动态化变量
- postman设置接口关联这样做,薪资直接涨3k
- 接口自动化中cookies的处理技术
- C#中抽象类、抽象方法和接口暨内联临时变量的精彩表达
- 【实战详解】如何快速搭建接口自动化测试框架?Python + Requests
- 一次显著的接口性能优化,从10s优化到0.9s
- 做接口自动化遇到的20个难点,记录下我是如何解决的!
- 全网最全jmeter接口测试/接口自动化测试看这篇文章就够了:跨线程组传递jmeter变量及cookie的处理
- 微信小程序发货信息录入接口 错误上传时间非法,请按照 RFC 3339 格式填写?
- 京东商品详情数据接口【京东API接口开发系列】,监控京东价格走势,接口代码示例,可高并发批量获取
猜你感兴趣
版权申明
本文".net core DI注入,构造函数含有动态参数":http://eshow365.cn/6-14362-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!