在我的程序中,我有一個System.Linq.Expressions.Expression
對象的列表。 此列表可以包含不同類型的特定Expression
。例如BinaryExpression
,ConditionalExpression
等(參見https://msdn.microsoft.com/en-us/library/system.linq.expressions.expression(v=vs.110).aspx)。 當閱讀此列表時,我想檢查它是哪種類型的Expression
(BinaryExpression
,ConditinalExpression
等)。獲取System.Linq.Expressions.Expression對象的類型
如何獲取派生Expression
類的名稱/類型?
UPDATE
這裏措辭列表中的定義:
IEnumerable<Expression<Func<T, object>>> Expressions { get; }
和代碼來獲取表達式:
foreach (var expression in test.Expressions)
{
var test = expression.GetType().ToString(); //System.Linq.Expressions.Expression`1[System.Func`2[TestObject,System.Object]]
}
你使用過GetType()嗎?它會給你任何對象的確切的運行時類型。應該使用表達式以及 –
我試過了。它給了我只有「System.Linq.Expressions.Expression」 – Palmi
顯示你的代碼的一個例子。你也可以使用「is」操作符。 'yourObj是BynaryExpression' - 會給你一個布爾結果 –