C# 实现IList的用例是什么?

C# 实现IList的用例是什么?,c#,.net,C#,.net,我应该在哪里以及为什么要实现IList?当实际上已经有大量扩展方法和实用程序丰富了泛型列表时,是否有人需要实现一个IList?? 请您指导一下,我自己无法想象一个用例需要实现IList 更新 例如,假设我需要一份现金清单。在本例中,我只需创建一个扩展List类的CashList。我甚至不需要实现一种方法,可以在CashList中管理现金行为,还可以使用多种列表方法。为什么我要实现IList,而不是从列表继承 public class CashList : List<CashItem>

我应该在哪里以及为什么要实现IList?当实际上已经有大量扩展方法和实用程序丰富了泛型列表时,是否有人需要实现一个
IList
?? 请您指导一下,我自己无法想象一个用例需要实现
IList


更新

例如,假设我需要一份现金清单。在本例中,我只需创建一个扩展
List
类的
CashList
。我甚至不需要实现一种方法,可以在
CashList
中管理现金行为,还可以使用多种列表方法。为什么我要实现
IList
,而不是从
列表继承

public class CashList : List<CashItem>
{
    public void UpdateItems();
    public void SetExpireTime();

}
公共类现金清单:清单
{
public void UpdateItems();
public void SetExpireTime();
}

如果您想实现自己的自定义集合,那么就可以了。
IList
只是一个通用定义(按索引读取、添加项等)。现在
List
使用一个数组作为后备存储,但可以随意创建一个树或链表(出于性能、存储方面的考虑)。看看邻居()。可能重复@AFract“我个人对你的主题投了更高的票”不幸的是,这是“如此瘟疫”的另一面-为什么要投一个没有(明显)研究支持的Q?列表是IList的具体实现,但它是有限的。您无法更改它的工作方式,它的任何方法都不是虚拟的。所以,如果您想修改Add()方法,并在项目出现问题时引发异常,那么列表对您没有帮助。您必须创建自己的实现,从IList继承,这样它的行为基本上仍然像一个列表。您仍然可以使用列表,但可以对其进行封装,IList实现通常只是一行程序。如果您想实现自己的自定义集合,
IList
只是一个通用定义(按索引读取、添加项等)。现在
List
使用一个数组作为后备存储,但可以随意创建一个树或链表(出于性能、存储方面的考虑)。看看邻居()。可能重复@AFract“我个人对你的主题投了更高的票”不幸的是,这是“如此瘟疫”的另一面-为什么要投一个没有(明显)研究支持的Q?列表是IList的具体实现,但它是有限的。您无法更改它的工作方式,它的任何方法都不是虚拟的。所以,如果您想修改Add()方法,并在项目出现问题时引发异常,那么列表对您没有帮助。您必须创建自己的实现,从IList继承,这样它的行为基本上仍然像一个列表。您仍然可以使用List,但您可以封装它,IList实现通常只是一行程序。