如果表达式是ConstantExpression
,您更喜欢测试哪一个?来自NodeType
属性或演员,为什么?
public static bool IsConstantExpression(Expression expression)
{
return expression.NodeType == ExpressionType.Constant;
return expression is ConstantExpression;
}
答案 0 :(得分:1)
如果expression.NodeType == ExpressionType.Constant
为空,则expression
会产生异常。我很确定ConstantExpression
可以为空,因此该语句仍然有效。
答案 1 :(得分:0)
我认为进行属性访问比让运行时检查对象的类型更好。