C#DI容器类的实例化(IList,IEnumerable等)

使用依赖注入,应该如何创建数据容器的实例,例如List,Dictionary等。

给出以下示例:

    public interface IXyz { }

    public class Xyz : IXyz { }

创建一个简单的列表是否违反了样式模式?像这样:

    public class Abc
    {
        IList<IXyz> _data = new List<IXyz>();

        public Abc()
        {
        }
    }

还是应该使用DI并让我的容器为我解析列表?像这样:

    public class Abc
    {
        IList<IXyz> _data;

        public Abc(IList<IXyz> list)
        {
            _data = list;
        }
    }

还是完全其他的东西?

评论