Let\'s assume this class in C#:
public class LimitedList : List
{
private int _maxitems = 500;
public void Add(T value) /* Adding
No - don't use new here; that doesn't give you polymorphism. List isn't intended for inheritance in this way; use Collection and override the AddInsertItem method.
public class LimitedCollection : Collection
{
private int _maxitems = 500;
protected override void InsertItem(int index, T item)
{
base.InsertItem(index, item);
TrimData(); /* Delete old data if lenght too long */
}
private void TrimData()
{
int num = Math.Max(0, base.Count - _maxitems);
while (num > 0)
{
base.RemoveAt(0);
num--;
}
}
}