У меня есть структура Money, у которой есть валюта и сумма. Я хотел бы иметь возможность суммировать список с помощью linq.
public struct Money
{
public string Currency { get; set; }
public decimal Amount { get; set; }
public static Money operator +(Money m1, Money m2)
{
if (m1.Currency != m2.Currency)
throw new InvalidOperationException();
return new Money() { Amount = m1.Amount + m2.Amount, Currency = m1.Currency };
}
}
Учитывая приведенный выше код, если у меня есть список элементов, имеющих объекты денежных значений, можно получить функцию Sum для работы с объектом Money value.
т
Items.Sum(m => m.MoneyValue);