Я читаю деревья выражений, и я думаю, что это хороший пример их использования, но я не могу понять, как это будет сделано.Как оценить простую строку C#
У меня есть набор строк, которые я хочу оцененный, все они типа:
exp == exp , or exp != exp , or exp (<,>,>=,<=) exp if exp is Numerical Type.
ехру не нужен проверить, если они действительны я в порядке с их взрывать, если они не.
Моя проблема в том, как разобрать, чтобы получить реальный объект.
Я хочу передать строку, как это ниже
Owner.Property.Field == 3;
or
Owner.Field == 3;
or
Owner.Method(1) == true
И получить, если оценка верна или нет. Моя проблема заключается в том, как мне спуститься по «пути» слева и получить значение?
Я реализовал версию с рефлексией и синтаксический анализ строк, что как-то делает работу - за исключением тех случаев, когда мы используем метод, и, честно говоря, это не то, что исполнитель вообще. Я хочу, чтобы это было как можно более совершенным, и, если возможно, дайте мне небольшое объяснение того, как работает выражение, поэтому я могу учиться.
Если вы хотите, чтобы мы объяснили вам * ваш * код вам, то, возможно, вам следует опубликовать его сначала – Carsten
Нет, у меня есть использование рефлексии и синтаксический анализ строк, я действительно хочу, чтобы это можно было сделать с помощью выражений. Я отредактирую для уточнения – Morphex
вне зависимости от того, что вы опубликовали, что вы пробовали до сих пор - если вы ничего не пытались и хотите, чтобы мы сделали вашу работу, вам не повезло (со мной) в любом случае – Carsten