4
什么是检查System.Linq.Expressions.Expression
实例是否为空的最佳方法?例如,如下所示:如何检查表达式是否为空(void)?
Expression expression = Expression.Empty();
...
if (expression.IsEmpty) { ...
只有IsEmpty
不存在。
一个想法是要测试的ToString
结果:
if (expression.ToString() == "default(Void)") { ...
,但似乎并不正确。
但是,这并不意味着有不能永远是一个void类型和默认值,表示不是其他东西的表达空的表达。 – Servy
这就是我的下一个问题。我看到默认的部分,但不是测试'expression.Type == typeof(System.Void)'足够吗?某物不能比空虚本身更空虚......可以吗? – Dejan
@Dejan事实并非如此。有各种各样的没有类型的表达。它只是意味着它们不会产生一个值(因此也会用于它们的副作用)。 – Servy