打印表达式树

扫码查看
本文介绍了打印表达式树的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述




我试图打印表达式树,但计算出的值是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 });

推荐答案


这篇关于打印表达式树的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-05 09:53
查看更多