Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从System.Linq.Expressions.Expression中删除偏执?_C#_Linq_Lambda_Expression_Expression Trees - Fatal编程技术网

C# 如何从System.Linq.Expressions.Expression中删除偏执?

C# 如何从System.Linq.Expressions.Expression中删除偏执?,c#,linq,lambda,expression,expression-trees,C#,Linq,Lambda,Expression,Expression Trees,假设定义了以下类: public class Person { public int Age { get; set; } } 现在我想构建一个表达式,它将Age属性与20进行比较,如下所示: ParameterExpression param = Expression.Parameter(typeof(Person), "Person"); MemberExpression member = Expression.Property(param, "Age

假设定义了以下类:

public class Person 
{
    public int Age { get; set; }
}
现在我想构建一个
表达式
,它将
Age
属性与
20
进行比较,如下所示:

ParameterExpression param = Expression.Parameter(typeof(Person), "Person");
MemberExpression member = Expression.Property(param, "Age");
ConstantExpression constant = Expression.Constant(20);
Expression exp = Expression.GreaterThan(member, constant);
现在
exp
(Person.Age>20)

需要像
Person.Age>20


如何删除这些偏执?括号实际上不在树中。这就是内置的
ToString
输出的工作方式。它仅用于调试目的。
ToString
输出甚至不是C#-它只是有时看起来像它。试试看我的意思。它的格式是
True或lse-True
我相信


无法更改输出格式。如果您需要某种输出格式,请自己进行格式化。这可能是一项相当大的工作。

我使用的是NHibernate,添加带括号的表达式树似乎失败了,即使是显式编写的。虽然没有括号,但你已经问了几乎相同的问题,回答完全相同:没有括号