1

如果表达式是 a ,您更喜欢用哪一个来测试ConstantExpression?从NodeType属性还是演员,为什么?

    public static bool IsConstantExpression(Expression expression)
    {
        return expression.NodeType == ExpressionType.Constant;
        return expression is ConstantExpression;
    }
4

2 回答 2

1

一个区别是如果为 nullexpression.NodeType == ExpressionType.Constant将引发异常。expression我很确定ConstantExpression它可以为空,因此该声明仍然有效。

于 2013-07-15T15:51:15.260 回答
0

我想进行属性访问比让运行时检查对象的类型要好。

于 2013-07-15T16:04:23.940 回答