Действительно ли нужен класс "Автомобили"?
Есть ли некоторые дополнительные функции, чем «Список»? Если нет, вы должны использовать «Список» (или лучше «IList»).
Если у класса «Автомобили» есть какие-либо дополнительные функции, есть два основных сценария:
- Этот класс - "последний" класс, большой возможности нет, кто-то, кто нужен другим, расширил его. Тогда эта конструкция в порядке.
- Этот класс, вероятно, будет использоваться в качестве базового класса. Тогда я рекомендую использовать эту конструкцию:
.
public class CarList<T> : List<T> where T : Car {
// some added functionality
}
Если вы хотите быть более гибким в будущем, вы должны использовать композицию:
public class CarList<T> : IList<T> where T : Car {
private IList<T> innerList;
public CarList() { this.innerList = new List<T>(); }
// implementation of IList<T>
// some added functionality
}