System.Linq.Expressions 命名空間
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
包含類別、介面與列舉,使語言層級的程式碼表達式能以表達式樹的形式表示。
類別
| 名稱 | Description |
|---|---|
| BinaryExpression |
表示具有二元運算子的表達式。 |
| BlockExpression |
代表一個區塊,包含一連串可定義變數的表達式。 |
| CatchBlock |
代表 try 區塊中的 catch 語句。 |
| ConditionalExpression |
表示具有條件運算子的表達式。 |
| ConstantExpression |
代表一個具有恆定值的表達式。 |
| DebugInfoExpression |
發送或清除除錯資訊的序列點。 這讓除錯器在除錯時能標示正確的原始碼。 |
| DefaultExpression |
代表型別的預設值或空運算式。 |
| DynamicExpression |
代表動態操作。 |
| DynamicExpressionVisitor |
代表動態表達式樹的訪客或重寫器。 |
| ElementInit |
代表集合中 IEnumerable 單一元素的初始化器。 |
| Expression |
提供基底類別,從此衍生出代表表達樹節點的類別。 它也包含 |
| Expression<TDelegate> |
將強型別的 lambda 表達式表示為表達式樹的資料結構。 此類別無法獲得繼承。 |
| ExpressionVisitor |
代表表達樹的訪客或重寫者。 |
| GotoExpression |
代表無條件的跳躍。 這包括返回語句、中斷與續行語句,以及其他跳轉。 |
| IndexExpression |
代表索引屬性或陣列。 |
| InvocationExpression |
表示一個將代理或 lambda 表達式套用到參數表達式清單的表達式。 |
| LabelExpression |
代表一個標籤,可以放在任何 Expression 情境中。 若跳轉至 ,則會得到對應 GotoExpression的 。 否則,它會接收 中的 DefaultValue值。 若 等 Type 於 System.Void,則不應提供任何值。 |
| LabelTarget |
用來表示 的目標 GotoExpression。 |
| LambdaExpression |
描述一個 lambda 表達式。 這會捕捉一段類似 .NET 方法本體的程式碼區塊。 |
| ListInitExpression |
代表帶有集合初始化器的建構子呼叫。 |
| LoopExpression |
代表無限迴圈。 它可以用「break」退出。 |
| MemberAssignment |
代表物件欄位或屬性的指派操作。 |
| MemberBinding |
提供代表綁定的類別的基底類別,這些綁定用於初始化新建立物件的成員。 |
| MemberExpression |
代表存取田地或財產。 |
| MemberInitExpression |
代表呼叫建構子並初始化新物件的一個或多個成員。 |
| MemberListBinding |
表示初始化新建立物件集合成員的元素。 |
| MemberMemberBinding |
代表初始化新建立物件成員的成員。 |
| MethodCallExpression |
代表對靜態方法或實例方法的呼叫。 |
| NewArrayExpression |
代表建立新陣列,並可能初始化新陣列的元素。 |
| NewExpression |
代表一個建構子呼叫。 |
| ParameterExpression |
代表一個命名參數表達式。 |
| RuntimeVariablesExpression |
一個表達式,提供執行時對變數的讀寫權限。 |
| SwitchCase |
代表 的 SwitchExpression一種情況。 |
| SwitchExpression |
代表一個控制表達式,透過將控制權傳遞給 SwitchCase來處理多個選擇。 |
| SymbolDocumentInfo |
儲存用於發送除錯符號資訊所需的原始檔案資訊,特別是檔案名稱與唯一語言識別碼。 |
| TryExpression |
代表嘗試/接球/終於/失誤阻擋。 |
| TypeBinaryExpression |
代表表達式與型態之間的操作。 |
| UnaryExpression |
表示一個具有一元運算子的表達式。 |
介面
| 名稱 | Description |
|---|---|
| IArgumentProvider |
提供內部介面以存取多個樹節點的參數(DynamicExpression、ElementInit、MethodCallExpression、InvocationExpression、NewExpression 和 IndexExpression)。 此 API 僅供內部使用。 |
| IDynamicExpression |
提供內部介面以存取 DynamicExpression 樹節點的參數,以及 CallSite 和 Rewriting 功能。 你不應該使用這個 API。 它之所以公開,是因為 DLL 重構,且僅用於內部效能優化。 |
列舉
| 名稱 | Description |
|---|---|
| ExpressionType |
描述表達式樹狀結構之節點的節點類型。 |
| GotoExpressionKind |
指定這個 GotoExpression 所代表的跳躍類型。 |
| MemberBindingType |
描述 MemberInitExpression 物件中使用的系結類型。 |
備註
抽象類別 Expression 提供了用於建模表達式樹的類別階層的根節點。
在此命名空間中由 Expression衍生的類別,例如 MemberExpression 和 ParameterExpression,用於表示表達樹中的節點。
Expression 類別包含 static(Visual Basic 中稱為 Shared)工廠方法,用以建立各種型別的表達樹節點。
列舉類型 ExpressionType 指定了唯一的節點類型。