如何从 System.Linq.Expressions.Expression 中删除括号?
How to remove Parantheses from System.Linq.Expressions.Expression?
假设定义了以下 class:
public class Person
{
public int Age { get; set; }
}
现在我想构建一个 Expression
,它将 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 || true
看看我的意思。我相信它的格式是 True OrElse True
。
无法更改输出格式。如果您需要某种输出格式,请自行格式化。这可能需要大量工作。
假设定义了以下 class:
public class Person
{
public int Age { get; set; }
}
现在我想构建一个 Expression
,它将 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 || true
看看我的意思。我相信它的格式是 True OrElse True
。
无法更改输出格式。如果您需要某种输出格式,请自行格式化。这可能需要大量工作。