В настоящее время я работаю над проектом на работе, и мы используем Telerik RadControls для Silverlight.В своем выпуске за первый квартал 2011 года они добавили новый элемент управления, который называется Rad Expression Editor.В редакторе выражений Rad вы можете передать объект и создать формулы (или выражения), а окно редактора предоставит вам предварительный просмотр результата выражения.Я говорил об этом с Telerik, и они намеренно не раскрыли результат этого, но упомянули, что я могу использовать LambdaExpression.Compile ().Я очень плохо знаком с Linq и использую лямбда-выражения в целом, но начал разбираться с этим.
В качестве примера, скажем, у меня есть объект с именем Finances, и в этом объекте есть 4 обнуляемых десятичных поля(значения): Дебет (10), ДебитYTD (100), Кредит (20) и КредитYTD (200).В формуле я хочу сделать что-то вроде: Дебет - Кредит + ДебитYTD - КредитYTD.
Редактор выражений Telerik Rad выдаст мне сгенерированное выражение: ExpressionEditor.Expression = {Param_0 => ((Param_0.Debit - Param_0.Credit + Param_0.DebitYTD - Param_0.CreditYTD}
Результатэтого выражения должно быть -110.Мне нужно иметь возможность получить значение, которое вычисляется в выражении, но не смог выяснить, как получить это число.Может кто-нибудь объяснить, как это можно сделать?Спасибо.