检查System.Linq.Expressions.Expression
实例是否为空的最佳方法是什么?例如,像这样:
Expression expression = Expression.Empty();
...
if (expression.IsEmpty) { ...
只有IsEmpty
不存在。
一个想法是测试ToString
:
if (expression.ToString() == "default(Void)") { ...
但这似乎不对。
答案 0 :(得分:3)
根据文档Empty()
返回
NodeType属性等于Default的DefaultExpression 并将Type属性设置为Void。
所以你应该可以使用:
if(expression.NodeType == ExpressionType.Default && expression.Type == typeof(void))