Я использую следующий шаблон в C#:LINQ назначение зависит расчет
IList<foo> x = y.Select(a => new foo
{
b = Calc1(),
c = Calc2()
}).ToList();
foreach(foo f in x)
{
f.d = b/c;
}
То, что я хотел бы сделать, хотя это:
IList<foo> x = y.Select(a => new foo
{
b = Calc1(),
c = Calc2()
d = b/c;
}).ToList();
Таким образом, вопрос: Как вы можете это изменить шаблон, позволяющий присвоить значение, зависящее от других значений, вычисляемых во время присвоения?
(Кто-то, вероятно, укажет, что d должно быть свойством, которое выполняет вычисление и возвращает значение. Это надуманный пример. Предположим, что значение d вычисляется с использованием других значений в дополнение к c & b, которые являются не доступен позже)
Хороший пример, показывающий синтаксис метода расширения - +1 =) –
Спасибо Дэвиду - очень изящный. – Guy
Никаких методов расширения здесь вообще. : ~ –