Например, enumerable.ToList() против list.AsReadOnly().
enumerable.ToList()
list.AsReadOnly()
Я спрашиваю, потому что у меня есть класс, который превращает IEnumerable<T> в IDataReader.Интересно, должен ли метод расширения, который его создает, быть ToDataReader или AsDataReader.
IEnumerable<T>
IDataReader
ToDataReader
AsDataReader
As* возвращают другой интерфейс без итерации источника, в то время как To* перебирает его и создает новый объект.
As*
To*
В вашем случае AsDataReader должен быть правильным выбором, поскольку вы не перебираете источник при создании DataReader, а только когда пользователь вызывает методы для него.
DataReader