小编典典

为什么公开 List<T> 被认为是不好的

all

根据 FXCop,List 不应该在 API 对象模型中公开。为什么这被认为是不好的做法?


阅读 163

收藏
2022-03-10

共1个答案

小编典典

我同意 moose-in-the-jungle 的观点:List<T>它是一个不受约束的、臃肿的物体,里面有很多“行李”。

IList<T>幸运的是,解决方案很简单:改为暴露。

它公开了一个准系统接口,该接口具有大多数List<T>的方法(除了类似的方法AddRange()),并且它不会将您限制为特定List<T>类型,这允许您的 API 使用者使用他们自己的自定义实现IList<T>.

为了获得更大的灵活性,请考虑IEnumerable<T>在适当的时候将一些集合公开给 。

2022-03-10