1

我试图理解这个案例。

假设我想要一个返回类型为List<T>.

public List<T> GetAllItems(string category)
{ ... }

我被建议改用这个标题:

public IList<T> GetAllItems(string category)
{ ... }

为什么这样?

我进行了一些研究,一个答案可能是灵活性,这意味着如果它实现相同的接口,则可以更改类型。但是动机必须做一些事情来公开界面以防止更改(?),我并没有真正理解它。那么,再次,为什么返回IList而不是返回更好List

4

0 回答 0