Прочитайте Принцип подстановки Лискова , ваша коллекция очень плохой кандидат на расширение списка <T>
, она даже не является хорошим кандидатом для реализации IList <T>
.
Какие шаблоны чтения требуются для этих данных? Если вам нужно только просмотреть все текущие записи, тогда для начала достаточно реализации IEnumerable <T>
и метода Add (T).
Это может быть реализовано в частной очереди (или Deque будет лучше, но для такой коллекции потребуется какой-то другой API коллекций, и я не предлагаю вам пытаться реализовать ее самостоятельно), к которой вы добавляете Enqueue () во время добавления ( с Dequeue, если необходимо, чтобы сохранить размер).
Обратите внимание, что реализация IEnumerable и предоставление метода Add означает, что вы все равно можете использовать синтаксис инициализатора Collection, если это необходимо.
Если вам нужен произвольный доступ к значениям, тогда реализация индексатора может быть хорошей идеей, но я не понимаю, какую пользу это принесло бы вам без дополнительного контекста по этому вопросу.