首页 > 解决方案 > .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>();
        }
     }

标签: .netdependency-injection

解决方案


推荐阅读