【发布时间】:2010-10-28 05:49:43
【问题描述】:
让我们假设这个类在 C# 中:
public class LimitedList<T> : List<T>
{
private int _maxitems = 500;
public void Add(T value) /* Adding a new Value to the buffer */
{
base.Add(value);
TrimData(); /* Delete old data if lenght too long */
}
private void TrimData()
{
int num = Math.Max(0, base.Count - _maxitems);
base.RemoveRange(0, num);
}
}
编译器在“public void Add(T value)”行中给了我这个警告:
警告 CS0108:“System.LimitedList.Add(T)”隐藏了继承的成员“System.Collections.Generic.List.Add(T)”。如果要隐藏,请使用 new 关键字。
我应该怎么做才能避免这个警告?
谢谢 4 你的帮助
【问题讨论】:
-
如果您要使用继承,也不要忘记覆盖接口其余部分的行为。否则你只需要创建一个有一个集合的集合,而不是一个集合。
标签: c# .net inheritance list