Расширение .AsEnumerable()
- это просто сокращение для приведения чего-то, что реализует IEnumerable<T>
в IEnumerable<T>
Так что, если xs
равно int[]
, вы можете вызвать xs.AsEnumerable()
вместо(xs as IEnumerable<int>)
.Он использует вывод типа, чтобы избежать необходимости явного ввода типа xs
.
Вот код, извлеченный Reflector.NET:
public static IEnumerable<TSource> AsEnumerable<TSource>(
this IEnumerable<TSource> source)
{
return source;
}
Но в этом случае я думаю, что долженсогласен с ДжономЭто, вероятно, из System.Data.DataSetExtensions
сборки.