Я создал подкласс общего списка, чтобы я мог реализовать новый интерфейс
public class CustomersCollection : List<Customer>, IEnumerable<SqlDataRecord>
{
...
}
Когда я изменяю определение поля на новый класс (см. Пример старых и новых строк ниже), яполучить все виды ошибок компиляции на вещи, которые должны существовать в исходном списке.
public CustomersCollection Customers { get; set; }
public void Sample()
{
Console.WriteLine(Customers.Where(x=>x.condition).First().ToString());
}
Почему CustomersCollection не наследует реализации интерфейса IQueryable, IEnumerable для List?
Официальная ошибка:
'CustomersCollection' не содержитможно найти определение для «Где» и без метода расширения «Где», принимающего первый аргумент типа «CustomersCollection» (отсутствует директива using или ссылка на сборку?)
Оказывается, что пользовательская реализация IEnumerable вызывает сбой всех методов расширения, которые применяются к IEnumerable.Что здесь происходит?