.net - .Net Core DI 构造函数列表参数初始化为空列表而不是 null
问题描述
为什么在使用 .Net Core DI 时,构造函数中的 IEnumerable 参数会使用空数组/列表进行初始化?除了ServiceCollectionExtenson.cs中的writen lambda或编辑SomeoneClass之外,有什么方法可以用null初始化它?
public class SomeoneClass
{
private readonly IEnumerable<string> _list;
public SomeoneClass(IEnumerable<string> list = null)
{
_list = list; // <===== this is initialize with string[0] not a null
}
}
public static class ServiceCollectionExtensions
{
public static void ConfigureApplicationServices(this IServiceCollection services,
IConfiguration configuration)
{
services.addScoped<SomeoneClass>();
}
}
解决方案
推荐阅读
- mongodb - 文档包含错误时不允许插入 Mongodb 指南针
- javascript - 如果类不存在,则执行此操作,否则忽略
- c# - 在 Routing Razor 区域添加自定义名称
- haskell - toDigits 但用零填充 Haskell
- java - 在 Java 中设置排序
- angular - 显示应自动更新的分数的 Angular 组件
- docker - 如何在 google kubernetes 引擎上设置环境变量?
- python - 没有这样的文件或目录(找不到目录)
- c# - 如何使用 XML 属性将 XML 反序列化为 C# 对象
- typescript - 将“console.log”传递给 subscribe() 以获取 observable