确定表达式是否为常量表达式的最佳方法
本文关键字:表达式 最佳 常量 方法 是否 | 更新日期: 2023-09-27 18:22:19
如果表达式是ConstantExpression
,您更喜欢哪一个进行测试?来自NodeType
属性或强制转换,为什么?
public static bool IsConstantExpression(Expression expression)
{
return expression.NodeType == ExpressionType.Constant;
return expression is ConstantExpression;
}
一个区别是,如果expression
为null,expression.NodeType == ExpressionType.Constant
将抛出异常。我确信ConstantExpression
是可以为null的,所以该语句仍然有效。
我认为进行属性访问比让运行时检查对象的类型要好。