У меня есть собственный пользовательский список, основанный на IEnumerable<T>
. Теперь я хочу перегрузить конструктор и сделать некоторые пользовательские вещи с исходным списком, который я получаю.Перегрузка конструктора IEnumerable
//Constructor
public CustomList(IEnumerable<T> collection) : base(collection)
{
//do some stuff with the collection e.g. iterate
foreach(T obj in collection)
{
//do some stuff with obj
}
}
Можно ли это сделать? Поскольку IEnumerable можно перечислить только один раз на base(collection)
, но цикл, похоже, не удастся.
EDIT: , так как это не совсем понятно для всех: Мой базовый класс IEnumerable<T>
и IEnumerable
могут быть перечислены только один раз в моем случае.
Какой у вас базовый класс? –
Вы действительно пробовали? Я не вижу проблем с тем, что у вас здесь. Я не знаю, что заставляет вас думать, что «IEnumerable может быть перечислим только один раз». –
@MattBurland - Это верно для некоторых коллекций. – Oded