Code:
public class MyCollection<T>
{
private List<T> _list;
public MyCollection()
{
_list = new List<T>();
}
public void Add(T value)
{
_list.Add(value);
}
public int Count
{
get { return _list.Count; }
}
public T this[int index]
{
get { return _list[index]; }
}
// needed for "foreach"
public System.Collections.Generic.IEnumerator<T>
GetEnumerator()
{
return _list.GetEnumerator();
}
// needed for sorting
public void Sort(IComparer<T> comparer)
{
_list.Sort(comparer);
}
}
Und dann halt woimmer Du eine List brauchst mit MyCollection<AddressItem> oder MyCollection<WebsiteItem> arbeiten.
Edit nachtrag: Aber warum machst Du diese Klasse überhaupt? Was kann die, was Du nicht auch direkt mit List<T> machen kannst?