本文介绍了打印表达式树的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嗨
我试图打印表达式树,但计算出的值是C#。
我有一个方法:
Hi
I am trying to "print" the expression tree, but with the calculated values in C#.
I have a method:
public string GetElement(Expression<Predicate<T>> match)
{
ParameterExpression pe = Expression.Parameter(typeof(T), "s");
BinaryExpression be = match.Body as BinaryExpression;
var ExpressionTree = Expression.Lambda<Func<T, bool>>(match.Body, new[] { pe });
return ExpressionTree;
}
如果我使用GetElement,它会正确显示(s => s.Name ==New York)但如果我尝试:
It shows correctly if I uses GetElement(s => s.Name == "New York") but if I try:
var name = "New York";
GetElement(s=>s.Name == name)
我得到s =>(s.Name == value(WpfTester.MainWindow) +<> c__DisplayClass0_0).name)
我尝试过:
我只试过
I get "s => (s.Name == value(WpfTester.MainWindow+<>c__DisplayClass0_0).name)"
What I have tried:
I have only tried
Expression.Lambda<Func<T, bool>>(match.Body, new[] { pe });
推荐答案
这篇关于打印表达式树的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!