.net 什么';System.Linq.Expressions.LogicalBinaryExpression类有什么问题?

.net 什么';System.Linq.Expressions.LogicalBinaryExpression类有什么问题?,.net,expression-trees,.net,Expression Trees,我正在尝试解析表达式,在某个时刻,我必须解析类型为System.Linq.expressions.LogicalBinaryExpression的表达式。我从debug watch获取的这个类名expression.GetType().ToString()等于“System.Linq.Expressions.LogicalBinaryExpression”。但是我在System.Linq.Expressions名称空间中看不到这个类。根本没有。MethodBinaryExpression类也是如

我正在尝试解析表达式,在某个时刻,我必须解析类型为
System.Linq.expressions.LogicalBinaryExpression
的表达式。我从debug watch获取的这个类名
expression.GetType().ToString()
等于
“System.Linq.Expressions.LogicalBinaryExpression”
。但是我在
System.Linq.Expressions
名称空间中看不到这个类。根本没有。
MethodBinaryExpression
类也是如此

为了检查类型,我真的更喜欢写

  • 表达式是LogicalBinaryExpression
  • expression.GetType()=typeof(LogicalBinaryExpression)
    但绝对不是
  • expression.GetType().ToString()=“System.Linq.Expressions.LogicalBinaryExpression”
所以现在我有个错误

命名空间“System.Linq.Expressions”中不存在类型或命名空间名称“LogicalBinaryExpression”(是否缺少程序集引用?)


这怎么可能呢?

LogicalBinaryExpression
内部的
,因此:

  • 更难的是,作为
    类型
    ,您不能简单地使用
    typeof(LogicalBinaryExpression)
    x是LogicalBinaryExpression
  • 你找不到关于它的任何文档
  • 你根本不应该用它。这是一个可以随时更改的实现细节
  • 您应该检查表达式的名称或名称

    这同样适用于
    MethodBinaryExpression