Нет, нет. Когда вы используете операторы запросов, он не использует экземпляры исходной коллекции для генерации перечисления. Скорее, он использует частные реализации (возможно, анонимные, возможно, нет) для обеспечения этой функциональности.
Если вы хотите, чтобы это было в вашей исходной коллекции, у вас должен быть конструктор типа, который принимает IEnumerable<T>
(или то, что хранится в вашей коллекции, если оно является специфическим), а затем передает запрос конструктору.
Затем вы можете использовать это для создания метода расширения для IEnumerable<T>
с именем To<YourCollectionType>
, который будет принимать IEnumerable<T>
, а затем передавать его конструктору вашего типа и возвращать его.