Это вопрос о СИНТАКСИС С # и НЕ о том, как мы называем/использовать IQueryableC# синтаксис и Linq, IQueryable
Может кто-то пожалуйста, объясните мне:
У нас есть заявление (System.Linq):
public static double Average<TSource>(this IQueryable<TSource> source,
Expression<Func<TSource, int>> selector)
и называть Средняя
double average = fruits.AsQueryable().Average(s => s.Length);
Я понимаю, как вызвать Среднее и все аналогичные статические методы IQueryable , но я не понимаю синтаксис объявления.
public static double Average<TSource>(this IQueryable<TSource> source,
Expression<Func<TSource, int>> selector)
Что означает <TSource>
означает в Average<TSource>(
, а также this IQueryable<TSource> source
.
, так как только один параметр проходит, когда мы называем его и фактическое выражение лямбды (s => s.Length);
Спасибо заранее.
Здесь вы можете найти более подробную информацию о методах расширения: http://msdn.microsoft.com/en-us/library/bb383977.aspx Методы расширения используются для 1. Расширьте тип без необходимости его наследования 2. Внедрите методы, которые действительны для всех типов, реализующих определенные интерфейсы. – Thomas
Большое спасибо! Вы ясно дали понять. Не знал синтаксиса для методов расширения! – hdiver