Dlaczego i kiedy dziedziczyć po kolekcji <T>

Śledzę starszy kod w moim projekcie napisanym w języku C #.

Znajduję następujący kod:

public class FooCollection : Collection<IFoo> {};

Nie rozumiem dlaczego (i kiedy) musimy stworzyć naszą własną klasę kolekcji w ten sposób.

Dlaczego nie skorzystać z wbudowanej kolekcji (array, List<T>, Dictionary<K,V>, ...)

Jaka jest struktura danych użyta wCollection<T> ?? szyk? czy lista powiązana?

questionAnswers(4)

yourAnswerToTheQuestion