从文档及其名称暗示可以推断,CanReduce
对于可以进一步分解为更小的表达式的所有表达式,属性的值必须设置为 true,反之亦然。
但经过仔细观察,这种推论似乎并非在所有情况下都成立。以 为例LambdaExpression
,它肯定是一个复合单元。但是LambdaExpression
直接从类派生的Expression
类不会覆盖该CanReduce
属性。该类Expression
将CanReduce
属性定义为 virtual 并具有返回的实现false
,因此暗示 lambda 表达式不可进一步简化,这是不正确的。
那么这个属性的真正含义是什么呢?