Задать вопрос
@msuprunenko
C/C++ DirectX

Можете объяснить зачем в параметрах this у функции?

Можете объяснить зачем в параметрах this у функции ?
Вот код:
public static class MyExtensionMethods   
{   
  public static decimal TotalPrices(this IEnumerable<Product> productEnum)  
   {      
 decimal total = 0;       
foreach (Product prod in productEnum)   
    {       
  total += prod.Price;      
 }     
  return total;    
 }  
 }
  • Вопрос задан
  • 322 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
cjey
@cjey
Пусть есть массив Product[] products;
Если вы объявляете просто функцию(без this), то для её вызова вам бы пришлось написать:
MyExtensionMethods.TotalPrices(products);

Если вы объявлете метод расширения (с this), тогда вы можете писать так:
products.TotalPrices();
Особенно удобно использовать с LINQ
decimal stuffPrice = products.Where(x => x.Price < 100).TotalPrices();

За подробностями в google
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы