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