Expression 類別

定義

提供基底類別,從此衍生出代表表達樹節點的類別。 它也包含 staticShared 在 Visual Basic 中)建立各種節點類型的工廠方法。 這是一門 abstract 課。

public ref class Expression abstract
public abstract class Expression
type Expression = class
Public MustInherit Class Expression
繼承
Expression
衍生

範例

以下程式碼範例展示了如何建立區塊表達式。 區塊表達式由兩個 MethodCallExpression 物件和一個 ConstantExpression 物件組成。

// Add the following directive to your file:
// using System.Linq.Expressions;

// The block expression allows for executing several expressions sequentually.
// When the block expression is executed,
// it returns the value of the last expression in the sequence.
BlockExpression blockExpr = Expression.Block(
    Expression.Call(
        null,
        typeof(Console).GetMethod("Write", new Type[] { typeof(String) }),
        Expression.Constant("Hello ")
       ),
    Expression.Call(
        null,
        typeof(Console).GetMethod("WriteLine", new Type[] { typeof(String) }),
        Expression.Constant("World!")
        ),
    Expression.Constant(42)
);

Console.WriteLine("The result of executing the expression tree:");
// The following statement first creates an expression tree,
// then compiles it, and then executes it.
var result = Expression.Lambda<Func<int>>(blockExpr).Compile()();

// Print out the expressions from the block expression.
Console.WriteLine("The expressions from the block expression:");
foreach (var expr in blockExpr.Expressions)
    Console.WriteLine(expr.ToString());

// Print out the result of the tree execution.
Console.WriteLine("The return value of the block expression:");
Console.WriteLine(result);

// This code example produces the following output:
//
// The result of executing the expression tree:
// Hello World!

// The expressions from the block expression:
// Write("Hello ")
// WriteLine("World!")
// 42

// The return value of the block expression:
// 42
' Add the following directive to your file:
' Imports System.Linq.Expressions

' The block expression enables you to execute several expressions sequentually.
' When the block expression is executed,
' it returns the value of the last expression in the sequence.
Dim blockExpr As BlockExpression = Expression.Block(
    Expression.Call(
        Nothing,
        GetType(Console).GetMethod("Write", New Type() {GetType(String)}),
        Expression.Constant("Hello ")
       ),
    Expression.Call(
        Nothing,
        GetType(Console).GetMethod("WriteLine", New Type() {GetType(String)}),
        Expression.Constant("World!")
        ),
    Expression.Constant(42)
)

Console.WriteLine("The result of executing the expression tree:")
' The following statement first creates an expression tree,
' then compiles it, and then executes it.           
Dim result = Expression.Lambda(Of Func(Of Integer))(blockExpr).Compile()()

' Print the expressions from the block expression.
Console.WriteLine("The expressions from the block expression:")
For Each expr In blockExpr.Expressions
    Console.WriteLine(expr.ToString())
Next

' Print the result of the tree execution.
Console.WriteLine("The return value of the block expression:")
Console.WriteLine(result)

' This code example produces the following output:
'
' The result of executing the expression tree:
' Hello World!

' The expressions from the block expression:
' Write("Hello ")
' WriteLine("World!")
' 42

' The return value of the block expression:
' 42

建構函式

名稱 Description
Expression()

構造一個新的實例。Expression

Expression(ExpressionType, Type)
已淘汰.

初始化 Expression 類別的新執行個體。

屬性

名稱 Description
CanReduce

表示該節點可以簡化為更簡單的節點。 若此結果為真,則可呼叫 Reduce() 以產生約簡形式。

NodeType

取得節點 Expression類型。

Type

取得此 Expression 表達式的靜態型態。

方法

名稱 Description
Accept(ExpressionVisitor)

針對此節點類型的特定訪問方法進行派遣。 例如,稱為 MethodCallExpressionVisitMethodCall(MethodCallExpression)

Add(Expression, Expression, MethodInfo)

建立 BinaryExpression 一個代表算術加法運算且不包含溢位檢查的 a。 可指定實作方法。

Add(Expression, Expression)

建立 BinaryExpression 一個代表算術加法運算且不包含溢位檢查的 a。

AddAssign(Expression, Expression, MethodInfo, LambdaExpression)

建立 BinaryExpression 一個代表加法指派操作的 ,且不包含溢位檢查。

AddAssign(Expression, Expression, MethodInfo)

建立 BinaryExpression 一個代表加法指派操作的 ,且不包含溢位檢查。

AddAssign(Expression, Expression)

建立 BinaryExpression 一個代表加法指派操作的 ,且不包含溢位檢查。

AddAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)

建立 BinaryExpression 一個代表加法指派操作且帶有溢位檢查的操作。

AddAssignChecked(Expression, Expression, MethodInfo)

建立 BinaryExpression 一個代表加法指派操作且帶有溢位檢查的操作。

AddAssignChecked(Expression, Expression)

建立 BinaryExpression 一個代表加法指派操作且帶有溢位檢查的操作。

AddChecked(Expression, Expression, MethodInfo)

建立 BinaryExpression 一個代表算術加法運算且帶有溢位檢查的運算。 可指定實作方法。

AddChecked(Expression, Expression)

建立 BinaryExpression 一個代表算術加法運算且帶有溢位檢查的運算。

And(Expression, Expression, MethodInfo)

會產生 BinaryExpression 一個代表位元運算 AND 的 a。 可指定實作方法。

And(Expression, Expression)

會產生 BinaryExpression 一個代表位元運算 AND 的 a。

AndAlso(Expression, Expression, MethodInfo)

建立一個 BinaryExpression 代表條件運算的條件運算 AND ,該運算僅在第一個運算元被解析為真時才評估第二個運算元。 可指定實作方法。

AndAlso(Expression, Expression)

建立一個 BinaryExpression 表示條件運算的條件運算 AND ,該運算只有在第一個運算元值為 true時才會評估第二個運算元。

AndAssign(Expression, Expression, MethodInfo, LambdaExpression)

會產生 BinaryExpression 一個代表位元與賦值運算的 a。

AndAssign(Expression, Expression, MethodInfo)

會產生 BinaryExpression 一個代表位元與賦值運算的 a。

AndAssign(Expression, Expression)

會產生 BinaryExpression 一個代表位元與賦值運算的 a。

ArrayAccess(Expression, Expression[])

建立一個 IndexExpression 來存取陣列。

ArrayAccess(Expression, IEnumerable<Expression>)

建立 來 IndexExpression 存取多維陣列。

ArrayIndex(Expression, Expression)

建立 BinaryExpression 一個表示對秩為一的陣列套用陣列索引運算子。

ArrayIndex(Expression, Expression[])

建立 MethodCallExpression 一個表示將陣列索引運算子應用於多維陣列的

ArrayIndex(Expression, IEnumerable<Expression>)

建立 MethodCallExpression 一個表示對秩多於一的陣列套用陣列索引運算子。

ArrayLength(Expression)

建立 UnaryExpression 一個表示式,用於獲得一維陣列長度。

Assign(Expression, Expression)

會產生代表指派操作的 。BinaryExpression

Bind(MemberInfo, Expression)

建立 MemberAssignment 一個代表欄位或屬性初始化的 。

Bind(MethodInfo, Expression)

透過屬性存取器方法建立代表成員初始化的 一個 MemberAssignment

Block(Expression, Expression, Expression, Expression, Expression)

建立包含五個表達式且無變數的 。BlockExpression

Block(Expression, Expression, Expression, Expression)

建立包含四個表達式且無變數的 。BlockExpression

Block(Expression, Expression, Expression)

建立包含三個表達式且無變數的 。BlockExpression

Block(Expression, Expression)

建立包含兩個表達式且無變數的 。BlockExpression

Block(Expression[])

建立包含給定表達式且無變數的 a BlockExpression

Block(IEnumerable<Expression>)

建立包含給定表達式且無變數的 a BlockExpression

Block(IEnumerable<ParameterExpression>, Expression[])

建立包含給定變數與表達式的 。BlockExpression

Block(IEnumerable<ParameterExpression>, IEnumerable<Expression>)

建立包含給定變數與表達式的 。BlockExpression

Block(Type, Expression[])

建立包含給定表達式、無變數且有特定結果型別的 a BlockExpression

Block(Type, IEnumerable<Expression>)

建立包含給定表達式、無變數且有特定結果型別的 a BlockExpression

Block(Type, IEnumerable<ParameterExpression>, Expression[])

建立包含給定變數與表達式的 。BlockExpression

Block(Type, IEnumerable<ParameterExpression>, IEnumerable<Expression>)

建立包含給定變數與表達式的 。BlockExpression

Break(LabelTarget, Expression, Type)

建立 GotoExpression 一個代表指定型別的中斷陳述句。 跳躍時傳遞給標籤的值可以指定。

Break(LabelTarget, Expression)

建立 GotoExpression 一個代表中斷陳述句的符號。 跳躍時傳遞給標籤的值可以指定。

Break(LabelTarget, Type)

建立 GotoExpression 一個代表指定型別的中斷陳述句。

Break(LabelTarget)

建立 GotoExpression 一個代表中斷陳述句的符號。

Call(Expression, MethodInfo, Expression, Expression, Expression)

建立 MethodCallExpression 一個代表呼叫一個包含三個參數的方法。

Call(Expression, MethodInfo, Expression, Expression)

建立 MethodCallExpression 一個代表呼叫一個方法,該方法包含兩個參數。

Call(Expression, MethodInfo, Expression[])

建立 MethodCallExpression 一個代表呼叫一個接收參數的方法。

Call(Expression, MethodInfo, IEnumerable<Expression>)

建立 MethodCallExpression 一個代表呼叫一個接收參數的方法。

Call(Expression, MethodInfo)

建立 MethodCallExpression 一個代表不接受參數的方法呼叫。

Call(Expression, String, Type[], Expression[])

透過呼叫適當的工廠方法來建立 MethodCallExpression 一個,代表對某個方法的呼叫。

Call(MethodInfo, Expression, Expression, Expression, Expression, Expression)

建立 MethodCallExpression 一個代表靜態方法的呼叫,該方法包含五個參數。

Call(MethodInfo, Expression, Expression, Expression, Expression)

建立 MethodCallExpression 一個代表靜態方法的呼叫,該方法包含四個參數。

Call(MethodInfo, Expression, Expression, Expression)

建立 MethodCallExpression 一個代表靜態方法的呼叫,該方法包含三個參數。

Call(MethodInfo, Expression, Expression)

建立 MethodCallExpression 一個,代表一個靜態方法的呼叫,該方法包含兩個參數。

Call(MethodInfo, Expression)

建立MethodCallExpression一個代表staticShared呼叫一個(在 Visual Basic 中)方法,該方法只取一個參數。

Call(MethodInfo, Expression[])

建立MethodCallExpression一個,代表一個staticShared(在 Visual Basic 中)有參數的方法呼叫。

Call(MethodInfo, IEnumerable<Expression>)

建立 MethodCallExpression 一個代表靜態(Visual Basic 共享)方法的呼叫。

Call(Type, String, Type[], Expression[])

透過呼叫適當的工廠方法,建立 MethodCallExpression 一個代表對 staticShared Visual Basic 中)方法的呼叫。

Catch(ParameterExpression, Expression, Expression)

建立 CatchBlock 一個表示捕捉陳述句的過濾器 Exception 及捕捉物件的參考 Exception

Catch(ParameterExpression, Expression)

建立 CatchBlock 一個表示捕捉(catch)陳述句的,並引用捕捉到的 Exception 物件,供處理程序本體使用。

Catch(Type, Expression, Expression)

建立 CatchBlock 一個帶有 Exception 過濾器但不參考捕捉 Exception 物件的 catch 陳述式。

Catch(Type, Expression)

建立 CatchBlock 一個表示捕捉陳述的符號。

ClearDebugInfo(SymbolDocumentInfo)

用來清除 DebugInfoExpression 序列點。

Coalesce(Expression, Expression, LambdaExpression)

在給定轉換函數的情況下,會產生 BinaryExpression 一個代表合併操作的 。

Coalesce(Expression, Expression)

創造代表合併操作的 。BinaryExpression

Condition(Expression, Expression, Expression, Type)

建立 ConditionalExpression 一個代表條件陳述的 。

Condition(Expression, Expression, Expression)

建立 ConditionalExpression 一個代表條件陳述的 。

Constant(Object, Type)

建立 ConstantExpression 一個, Value 將 和 Type 屬性設定為指定的值。

Constant(Object)

建立 ConstantExpression 一個屬性 Value 設定為指定值的 。

Continue(LabelTarget, Type)

建立 GotoExpression 一個代表指定型別的 continu 語句。

Continue(LabelTarget)

建立 GotoExpression 一個表示繼續語句的訊息。

Convert(Expression, Type, MethodInfo)

建立 UnaryExpression 一個代表轉換操作的 ,並指定實作方法。

Convert(Expression, Type)

建立 UnaryExpression 一個代表型別轉換操作的 。

ConvertChecked(Expression, Type, MethodInfo)

建立 UnaryExpression 一個代表轉換操作的 ,當目標型別溢出且已指定實作方法時,會拋出例外。

ConvertChecked(Expression, Type)

建立 UnaryExpression 一個代表轉換操作的 ,當目標型別溢出時會拋出例外。

DebugInfo(SymbolDocumentInfo, Int32, Int32, Int32, Int32)

建立具有指定範圍的 a DebugInfoExpression

Decrement(Expression, MethodInfo)

創造一個 UnaryExpression ,代表表達式減1的結果。

Decrement(Expression)

創造一個 UnaryExpression ,代表表達式減1的結果。

Default(Type)

建立 DefaultExpression 一個屬性 Type 設定為指定型別的 a。

Divide(Expression, Expression, MethodInfo)

產生 BinaryExpression 一個代表算術除法運算的 。 可指定實作方法。

Divide(Expression, Expression)

產生 BinaryExpression 一個代表算術除法運算的 。

DivideAssign(Expression, Expression, MethodInfo, LambdaExpression)

建立 BinaryExpression 一個代表不包含溢位檢查的分割指派操作。

DivideAssign(Expression, Expression, MethodInfo)

建立 BinaryExpression 一個代表不包含溢位檢查的分割指派操作。

DivideAssign(Expression, Expression)

建立 BinaryExpression 一個代表不包含溢位檢查的分割指派操作。

Dynamic(CallSiteBinder, Type, Expression, Expression, Expression, Expression)

建立 DynamicExpression 一個代表動態運算,並受所提供的 CallSiteBinder限制。

Dynamic(CallSiteBinder, Type, Expression, Expression, Expression)

建立 DynamicExpression 一個代表動態運算,並受所提供的 CallSiteBinder限制。

Dynamic(CallSiteBinder, Type, Expression, Expression)

建立 DynamicExpression 一個代表動態運算,並受所提供的 CallSiteBinder限制。

Dynamic(CallSiteBinder, Type, Expression)

建立 DynamicExpression 一個代表動態運算,並受所提供的 CallSiteBinder限制。

Dynamic(CallSiteBinder, Type, Expression[])

建立 DynamicExpression 一個代表動態運算,並受所提供的 CallSiteBinder限制。

Dynamic(CallSiteBinder, Type, IEnumerable<Expression>)

建立 DynamicExpression 一個代表動態運算,並受所提供的 CallSiteBinder限制。

ElementInit(MethodInfo, Expression[])

給定一個值陣列作為第二個參數,會產生一個 ElementInit

ElementInit(MethodInfo, IEnumerable<Expression>)

給定第二個ElementInit參數 ,會產生 IEnumerable<T>

Empty()

會產生一個空的表達式,且型別為 Void

Equal(Expression, Expression, Boolean, MethodInfo)

建立 BinaryExpression 代表相等比較的 。 可指定實作方法。

Equal(Expression, Expression)

建立 BinaryExpression 代表相等比較的 。

Equals(Object)

判斷指定的 物件是否等於目前的物件。

(繼承來源 Object)
ExclusiveOr(Expression, Expression, MethodInfo)

建立 BinaryExpression 一個代表位元 XOR 運算的 ,使用 op_ExclusiveOr 使用者定義型別。 可指定實作方法。

ExclusiveOr(Expression, Expression)

建立 BinaryExpression 一個代表位元 XOR 運算的 ,使用 op_ExclusiveOr 使用者定義型別。

ExclusiveOrAssign(Expression, Expression, MethodInfo, LambdaExpression)

建立 BinaryExpression 一個代表位元異或指派操作的 ,用於 op_ExclusiveOr 使用者定義型別。

ExclusiveOrAssign(Expression, Expression, MethodInfo)

建立 BinaryExpression 一個代表位元異或指派操作的 ,用於 op_ExclusiveOr 使用者定義型別。

ExclusiveOrAssign(Expression, Expression)

建立 BinaryExpression 一個代表位元異或指派操作的 ,用於 op_ExclusiveOr 使用者定義型別。

Field(Expression, FieldInfo)

建立 MemberExpression 一個代表存取欄位的 。

Field(Expression, String)

建立 MemberExpression 一個代表以欄位名稱存取該欄位的行為。

Field(Expression, Type, String)

建立 MemberExpression 一個代表存取欄位的 。

GetActionType(Type[])

建立 Type 一個物件,代表具有特定類型參數的通用 Action 代理型別。

GetDelegateType(Type[])

取得 Type 一個代表具有特定類型參數的通用 Func<TResult>Action 代理型別的物件。

GetFuncType(Type[])

建立 Type 一個物件,代表具有特定類型參數的通用 Func<TResult> 代理型別。 最後一個型態參數指定所建立代理的回傳型態。

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前實例的 Type

(繼承來源 Object)
Goto(LabelTarget, Expression, Type)

建立 GotoExpression 一個代表指定型別的「go to」陳述句。 跳躍時傳遞給標籤的值可以指定。

Goto(LabelTarget, Expression)

建立 GotoExpression 一個表示「必看」語句的訊息。 跳躍時傳遞給標籤的值可以指定。

Goto(LabelTarget, Type)

建立 GotoExpression 一個代表指定型別的「go to」陳述句。

Goto(LabelTarget)

建立 GotoExpression 一個表示「必看」語句的訊息。

GreaterThan(Expression, Expression, Boolean, MethodInfo)

產生 BinaryExpression 代表「大於」數值比較的 a。 可指定實作方法。

GreaterThan(Expression, Expression)

產生 BinaryExpression 代表「大於」數值比較的 a。

GreaterThanOrEqual(Expression, Expression, Boolean, MethodInfo)

產生 BinaryExpression 代表「大於或等」的數值比較。

GreaterThanOrEqual(Expression, Expression)

產生 BinaryExpression 代表「大於或等」的數值比較。

IfThen(Expression, Expression)

建立 ConditionalExpression 一個,代表一個帶有 if 語句的條件區塊。

IfThenElse(Expression, Expression, Expression)

建立 ConditionalExpression 一個代表條件區塊,且包含 ifelse 語句。

Increment(Expression, MethodInfo)

產生 UnaryExpression 一個,代表表達式增加1的過程。

Increment(Expression)

建立 UnaryExpression 一個代表表達式值增加1的過程。

Invoke(Expression, Expression[])

建立 InvocationExpression 一個,將代理式或 lambda 表達式套用到一串參數表達式。

Invoke(Expression, IEnumerable<Expression>)

建立 InvocationExpression 一個,將代理式或 lambda 表達式套用到一串參數表達式。

IsFalse(Expression, MethodInfo)

回傳該表達式是否被評估為假。

IsFalse(Expression)

回傳該表達式是否被評估為假。

IsTrue(Expression, MethodInfo)

回傳該表達式是否被評估為真。

IsTrue(Expression)

回傳該表達式是否被評估為真。

Label()

建立 LabelTarget 一個代表空值且無名稱的標籤。

Label(LabelTarget, Expression)

建立 LabelExpression 一個代表給定預設值的標籤。

Label(LabelTarget)

建立 LabelExpression 一個表示標籤但沒有預設值的 。

Label(String)

建立 LabelTarget 一個代表標籤的 void 類型與 given name。

Label(Type, String)

建立 LabelTarget 一個代表標籤的標籤,包含給定型別和名稱。

Label(Type)

建立 LabelTarget 一個代表給定類型的標籤的 。

Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)

首先從表達式主體構造代理型態、指示是否應用尾部調用優化的參數,以及可枚舉的參數表達式集合來建立 。LambdaExpression 當編譯時代理類型尚未確定時,可以使用此方法。

Lambda(Expression, Boolean, ParameterExpression[])

首先從表達式主體構造代理型態、指示是否套用尾呼叫優化的參數,以及參數表達式陣列來建立 。LambdaExpression 當編譯時代理類型尚未確定時,可以使用此方法。

Lambda(Expression, IEnumerable<ParameterExpression>)

首先從表達式主體構建代理型態,並建立可枚舉的參數表達式集合來建立 。LambdaExpression 當編譯時代理類型尚未確定時,可以使用此方法。

Lambda(Expression, ParameterExpression[])

首先從表達式主體構造代理型態,並建立參數表達式陣列來建立 。LambdaExpression 當編譯時代理類型尚未確定時,可以使用此方法。

Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>)

首先從表達式主體、lambda名稱、指示是否應用尾部呼叫優化的參數,以及可枚舉的參數表達式集合中構造代理型態來建立 a LambdaExpression 。 當編譯時代理類型尚未確定時,可以使用此方法。

Lambda(Expression, String, IEnumerable<ParameterExpression>)

首先從表達式主體、lambda 名稱及可枚舉的參數表達式集合構建代理型態來建立 。LambdaExpression 當編譯時代理類型尚未確定時,可以使用此方法。

Lambda(Type, Expression, Boolean, IEnumerable<ParameterExpression>)

建立 LambdaExpression 一個在編譯時已知代理型別的參數,並有一個參數指示是否會套用尾部呼叫優化,並有一個可枚舉的參數表達式集合。

Lambda(Type, Expression, Boolean, ParameterExpression[])

建立 LambdaExpression 一個代理類型在編譯時已知的參數,並有一個參數指示是否會套用尾呼叫最佳化,並有一組參數表達式。

Lambda(Type, Expression, IEnumerable<ParameterExpression>)

建立 LambdaExpression 一個在編譯時已知代理型別,並可枚舉的參數表達式集合。

Lambda(Type, Expression, ParameterExpression[])

建立 LambdaExpression 一個在編譯時已知代理型別的 ,並以參數表達式陣列。

Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>)

建立 LambdaExpression 一個代理類型在編譯時已知,包含 lambda 名稱、一個指示是否套用尾部呼叫優化的參數,以及一個可枚舉的參數表達式集合。

Lambda(Type, Expression, String, IEnumerable<ParameterExpression>)

建立一個 LambdaExpression 在編譯時已知代理型別、lambda 名稱及可枚舉參數表達式集合的

Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>)

建立 Expression<TDelegate> 一個代理類型在編譯時已知,並有一個參數指示是否會套用尾部呼叫最佳化,以及一組可枚舉的參數表達式。

Lambda<TDelegate>(Expression, Boolean, ParameterExpression[])

建立 Expression<TDelegate> 一個代理類型在編譯時已知,並有一個參數指示是否會套用尾呼叫最佳化,以及一個參數表達式陣列。

Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>)

建立 Expression<TDelegate> 一個在編譯時已知代理型別,並包含可枚舉的參數表達式集合。

Lambda<TDelegate>(Expression, ParameterExpression[])

建立 Expression<TDelegate> 一個代理型別在編譯時已知,並搭配參數表達式陣列。

Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>)

建立一個 Expression<TDelegate> 代理類型在編譯時已知,包含 lambda 名稱、一個指示是否套用尾呼叫優化的參數,以及一組可枚舉的參數表達式。

Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>)

建立一個 Expression<TDelegate> 代理型別在編譯時已知,並包含 lambda 名稱,以及可枚舉的參數表達式集合。

LeftShift(Expression, Expression, MethodInfo)

會產生 BinaryExpression 一個代表位元左移運算的 a。

LeftShift(Expression, Expression)

會產生 BinaryExpression 一個代表位元左移運算的 a。

LeftShiftAssign(Expression, Expression, MethodInfo, LambdaExpression)

建立 BinaryExpression 一個代表位元左移指派運算的 。

LeftShiftAssign(Expression, Expression, MethodInfo)

建立 BinaryExpression 一個代表位元左移指派運算的 。

LeftShiftAssign(Expression, Expression)

建立 BinaryExpression 一個代表位元左移指派運算的 。

LessThan(Expression, Expression, Boolean, MethodInfo)

會產生 BinaryExpression 一個代表「小於」數值比較的 。

LessThan(Expression, Expression)

會產生 BinaryExpression 一個代表「小於」數值比較的 。

LessThanOrEqual(Expression, Expression, Boolean, MethodInfo)

產生 BinaryExpression 一個代表「小於或相等」的數值比較。

LessThanOrEqual(Expression, Expression)

建立 BinaryExpression 代表「小於或相等」的數值比較。

ListBind(MemberInfo, ElementInit[])

建立 MemberListBinding 一個,其中成員是欄位或屬性。

ListBind(MemberInfo, IEnumerable<ElementInit>)

建立 MemberListBinding 一個,其中成員是欄位或屬性。

ListBind(MethodInfo, ElementInit[])

根據指定的屬性存取器方法建立 MemberListBinding 物件。

ListBind(MethodInfo, IEnumerable<ElementInit>)

根據指定的屬性存取器方法建立 。MemberListBinding

ListInit(NewExpression, ElementInit[])

建立 ListInitExpression 一個,利用指定的 ElementInit 物件初始化集合。

ListInit(NewExpression, Expression[])

建立 ListInitExpression 一個使用名為「Add」的方法來將元素加入集合。

ListInit(NewExpression, IEnumerable<ElementInit>)

建立 ListInitExpression 一個,利用指定的 ElementInit 物件初始化集合。

ListInit(NewExpression, IEnumerable<Expression>)

建立 ListInitExpression 一個使用名為「Add」的方法來將元素加入集合。

ListInit(NewExpression, MethodInfo, Expression[])

建立 ListInitExpression 一個使用指定方法將元素加入集合的

ListInit(NewExpression, MethodInfo, IEnumerable<Expression>)

建立 ListInitExpression 一個使用指定方法將元素加入集合的

Loop(Expression, LabelTarget, LabelTarget)

用給定的身體創造 a LoopExpression

Loop(Expression, LabelTarget)

用給定的身體創造一個 LoopExpression 目標並破除。

Loop(Expression)

用給定的身體創造 a LoopExpression

MakeBinary(ExpressionType, Expression, Expression, Boolean, MethodInfo, LambdaExpression)

透過呼叫適當的工廠方法,給定左操作元、右操作元,實作方法與型別轉換函數,建立 BinaryExpression一個 。

MakeBinary(ExpressionType, Expression, Expression, Boolean, MethodInfo)

透過呼叫適當的工廠方法,給定左操作數、右操作數及實作方法,建立一個 BinaryExpression

MakeBinary(ExpressionType, Expression, Expression)

透過呼叫適當的工廠方法,給定左與右運算元,建立一個 BinaryExpression

MakeCatchBlock(Type, ParameterExpression, Expression, Expression)

建立 CatchBlock 一個表示捕捉語句的指定元素。

MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression, Expression)

建立 DynamicExpression 一個代表由所提供 CallSiteBinder 參數和四個參數約束的動態運算。

MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression)

建立 DynamicExpression 一個代表動態運算的操作,該操作由所提供的 和三個參數所約束 CallSiteBinder

MakeDynamic(Type, CallSiteBinder, Expression, Expression)

建立 DynamicExpression 一個代表由所提供 CallSiteBinder 參數和兩個參數綁定的動態操作。

MakeDynamic(Type, CallSiteBinder, Expression)

建立 DynamicExpression 一個代表由所提供 CallSiteBinder 參數和一個參數綁定的動態操作。

MakeDynamic(Type, CallSiteBinder, Expression[])

建立 DynamicExpression 一個代表動態運算,並受所提供的 CallSiteBinder限制。

MakeDynamic(Type, CallSiteBinder, IEnumerable<Expression>)

建立 DynamicExpression 一個代表動態運算,並受所提供的 CallSiteBinder限制。

MakeGoto(GotoExpressionKind, LabelTarget, Expression, Type)

建立 GotoExpression 一個代表指定 GotoExpressionKind跳躍的 。 跳躍時傳遞給標籤的值也可以指定。

MakeIndex(Expression, PropertyInfo, IEnumerable<Expression>)

建立 IndexExpression 一個代表物件中索引屬性的存取。

MakeMemberAccess(Expression, MemberInfo)

建立 MemberExpression 一個代表存取欄位或屬性的 。

MakeTry(Type, Expression, Expression, Expression, IEnumerable<CatchBlock>)

建立 TryExpression 一個代表 try 區塊的指定元素。

MakeUnary(ExpressionType, Expression, Type, MethodInfo)

透過呼叫適當的工廠方法,給定操作數與實作方法,建立一個 UnaryExpression

MakeUnary(ExpressionType, Expression, Type)

透過呼叫適當的工廠方法,給定一個運算元,建立一個 UnaryExpression

MemberBind(MemberInfo, IEnumerable<MemberBinding>)

建立 MemberMemberBinding 一個代表欄位或屬性成員遞迴初始化的 。

MemberBind(MemberInfo, MemberBinding[])

建立 MemberMemberBinding 一個代表欄位或屬性成員遞迴初始化的 。

MemberBind(MethodInfo, IEnumerable<MemberBinding>)

建立 MemberMemberBinding 一個代表透過屬性存取器方法存取的成員的遞迴初始化。

MemberBind(MethodInfo, MemberBinding[])

建立 MemberMemberBinding 一個代表透過屬性存取器方法存取的成員的遞迴初始化。

MemberInit(NewExpression, IEnumerable<MemberBinding>)

表示一種表達式,能創建一個新物件並初始化該物件的屬性。

MemberInit(NewExpression, MemberBinding[])

建立 MemberInitExpression

MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
Modulo(Expression, Expression, MethodInfo)

產生 BinaryExpression 一個代表算術餘數運算的 。

Modulo(Expression, Expression)

產生 BinaryExpression 一個代表算術餘數運算的 。

ModuloAssign(Expression, Expression, MethodInfo, LambdaExpression)

建立 BinaryExpression 一個代表剩餘指派運算的 。

ModuloAssign(Expression, Expression, MethodInfo)

建立 BinaryExpression 一個代表剩餘指派運算的 。

ModuloAssign(Expression, Expression)

建立 BinaryExpression 一個代表剩餘指派運算的 。

Multiply(Expression, Expression, MethodInfo)

建立 BinaryExpression 一個代表算術乘法運算且不包含溢位檢查的 a。

Multiply(Expression, Expression)

建立 BinaryExpression 一個代表算術乘法運算且不包含溢位檢查的 a。

MultiplyAssign(Expression, Expression, MethodInfo, LambdaExpression)

建立 BinaryExpression 一個代表乘法指派操作且不包含溢位檢查的 a。

MultiplyAssign(Expression, Expression, MethodInfo)

建立 BinaryExpression 一個代表乘法指派操作且不包含溢位檢查的 a。

MultiplyAssign(Expression, Expression)

建立 BinaryExpression 一個代表乘法指派操作且不包含溢位檢查的 a。

MultiplyAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)

建立 BinaryExpression 一個代表乘法指派操作且帶有溢位檢查的操作。

MultiplyAssignChecked(Expression, Expression, MethodInfo)

建立 BinaryExpression 一個代表乘法指派操作且帶有溢位檢查的操作。

MultiplyAssignChecked(Expression, Expression)

建立 BinaryExpression 一個代表乘法指派操作且帶有溢位檢查的操作。

MultiplyChecked(Expression, Expression, MethodInfo)

建立 BinaryExpression 一個代表算術乘法運算且帶有溢位檢查的運算。

MultiplyChecked(Expression, Expression)

建立 BinaryExpression 一個代表算術乘法運算且帶有溢位檢查的運算。

Negate(Expression, MethodInfo)

創造一個 UnaryExpression 代表算術否定運算的 a。

Negate(Expression)

創造一個 UnaryExpression 代表算術否定運算的 a。

NegateChecked(Expression, MethodInfo)

建立 UnaryExpression 一個代表算術否定運算且帶有溢位檢查的操作。 可指定實作方法。

NegateChecked(Expression)

建立 UnaryExpression 一個代表算術否定運算且帶有溢位檢查的操作。

New(ConstructorInfo, Expression[])

建立 NewExpression,表示使用指定的自變數呼叫指定的建構函式。

New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>)

建立 NewExpression,表示使用指定的自變數呼叫指定的建構函式。 會指定存取建構函式初始化欄位的成員。

New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[])

建立 NewExpression,表示使用指定的自變數呼叫指定的建構函式。 存取建構函式初始化欄位的成員會指定為數位。

New(ConstructorInfo, IEnumerable<Expression>)

建立 NewExpression,表示使用指定的自變數呼叫指定的建構函式。

New(ConstructorInfo)

建立 NewExpression,表示呼叫不採用自變數的指定建構函式。

New(Type)

建立 NewExpression,表示呼叫指定型別的無參數建構函式。

NewArrayBounds(Type, Expression[])

建立 NewArrayExpression 一個代表建立具有指定秩的陣列。

NewArrayBounds(Type, IEnumerable<Expression>)

建立 NewArrayExpression 一個代表建立具有指定秩的陣列。

NewArrayInit(Type, Expression[])

建立 NewArrayExpression 一個代表建立一維陣列並從元素列表初始化的 。

NewArrayInit(Type, IEnumerable<Expression>)

建立 NewArrayExpression 一個代表建立一維陣列並從元素列表初始化的 。

Not(Expression, MethodInfo)

會產生 UnaryExpression 一個代表位元補集運算的 。 可指定實作方法。

Not(Expression)

會產生 UnaryExpression 一個代表位元補集運算的 。

NotEqual(Expression, Expression, Boolean, MethodInfo)

會產生 BinaryExpression 一個代表不平等比較的 。

NotEqual(Expression, Expression)

會產生 BinaryExpression 一個代表不平等比較的 。

OnesComplement(Expression, MethodInfo)

回傳代表補數 1 的表達式。

OnesComplement(Expression)

回傳代表補數 1 的表達式。

Or(Expression, Expression, MethodInfo)

會產生 BinaryExpression 一個代表位元運算 OR 的 a。

Or(Expression, Expression)

會產生 BinaryExpression 一個代表位元運算 OR 的 a。

OrAssign(Expression, Expression, MethodInfo, LambdaExpression)

建立 BinaryExpression 一個代表位元或指派運算的 。

OrAssign(Expression, Expression, MethodInfo)

建立 BinaryExpression 一個代表位元或指派運算的 。

OrAssign(Expression, Expression)

建立 BinaryExpression 一個代表位元或指派運算的 。

OrElse(Expression, Expression, MethodInfo)

建立一個 BinaryExpression 表示條件運算的條件運算 OR ,該運算只有在第一個運算元值為 false時才會評估第二個運算元。

OrElse(Expression, Expression)

建立一個 BinaryExpression 表示條件運算的條件運算 OR ,該運算只有在第一個運算元值為 false時才會評估第二個運算元。

Parameter(Type, String)

建立 ParameterExpression 一個節點,可用於識別表達式樹中的參數或變數。

Parameter(Type)

建立 ParameterExpression 一個節點,可用於識別表達式樹中的參數或變數。

PostDecrementAssign(Expression, MethodInfo)

產生 表示 UnaryExpression 式的指派,接著將原始表達式遞減 1。

PostDecrementAssign(Expression)

產生 表示 UnaryExpression 式的指派,接著將原始表達式遞減 1。

PostIncrementAssign(Expression, MethodInfo)

建立 UnaryExpression 一個代表表達式的指派,接著是原始表達式的後續增量 1。

PostIncrementAssign(Expression)

建立 UnaryExpression 一個代表表達式的指派,接著是原始表達式的後續增量 1。

Power(Expression, Expression, MethodInfo)

創造一個 BinaryExpression 代表將數值提升為冪次方的

Power(Expression, Expression)

創造一個 BinaryExpression 代表將數值提升為冪次方的

PowerAssign(Expression, Expression, MethodInfo, LambdaExpression)

創造一個 BinaryExpression 表示式升格為冪次方並將結果重新指派回該表達式的 a。

PowerAssign(Expression, Expression, MethodInfo)

創造一個 BinaryExpression 表示式升格為冪次方並將結果重新指派回該表達式的 a。

PowerAssign(Expression, Expression)

創造一個 BinaryExpression 表示式升格為冪次方並將結果重新指派回該表達式的 a。

PreDecrementAssign(Expression, MethodInfo)

建立 UnaryExpression 一個,將表達式減少1,並將結果指派回該表達式。

PreDecrementAssign(Expression)

建立 UnaryExpression 一個,將表達式減少1,並將結果指派回該表達式。

PreIncrementAssign(Expression, MethodInfo)

建立 UnaryExpression 一個,將表達式遞增1,並將結果重新指派給該表達式。

PreIncrementAssign(Expression)

建立 UnaryExpression 一個,將表達式遞增1,並將結果重新指派給該表達式。

Property(Expression, MethodInfo)

建立 MemberExpression 一個表示透過屬性存取器方法存取屬性的 。

Property(Expression, PropertyInfo, Expression[])

建立 IndexExpression 一個表示對索引屬性存取權限的存取權限。

Property(Expression, PropertyInfo, IEnumerable<Expression>)

建立 IndexExpression 一個表示對索引屬性存取權限的存取權限。

Property(Expression, PropertyInfo)

建立代表存取物件的 。MemberExpression

Property(Expression, String, Expression[])

建立 IndexExpression 一個表示對索引屬性存取權限的存取權限。

Property(Expression, String)

建立代表存取物件的 。MemberExpression

Property(Expression, Type, String)

建立 MemberExpression 一個存取屬性的過程。

PropertyOrField(Expression, String)

建立代表存取屬性或欄位的 。MemberExpression

Quote(Expression)

建立一個 UnaryExpression 表示式,該表達式的值為常數 Expression型。

Reduce()

將此節點簡化為更簡單的表達式。 如果 CanReduce 回傳為真,則應回傳一個有效的表達式。 此方法可返回另一個必須被約簡的節點。

ReduceAndCheck()

將此節點簡化為更簡單的表達式。 如果 CanReduce 回傳為真,則應回傳一個有效的表達式。 此方法可返回另一個必須被約簡的節點。

ReduceExtensions()

將表達式簡化為已知節點型別(非擴充節點),或僅回傳已是已知型別的表達式。

ReferenceEqual(Expression, Expression)

建立 BinaryExpression 代表參考等式比較的 。

ReferenceNotEqual(Expression, Expression)

建立 BinaryExpression 一個代表參考不等式比較的 。

Rethrow()

會產生 UnaryExpression 一個代表例外重拋的 。

Rethrow(Type)

建立 UnaryExpression 一個代表以特定型別拋出例外的重新拋出。

Return(LabelTarget, Expression, Type)

建立 GotoExpression 一個代表指定型別的回傳語句。 跳躍時傳遞給標籤的值可以指定。

Return(LabelTarget, Expression)

建立 GotoExpression 一個代表返回語句的表示。 跳躍時傳遞給標籤的值可以指定。

Return(LabelTarget, Type)

建立 GotoExpression 一個代表指定型別的回傳語句。

Return(LabelTarget)

建立 GotoExpression 一個代表返回語句的表示。

RightShift(Expression, Expression, MethodInfo)

會產生 BinaryExpression 一個代表位元右移運算的 。

RightShift(Expression, Expression)

會產生 BinaryExpression 一個代表位元右移運算的 。

RightShiftAssign(Expression, Expression, MethodInfo, LambdaExpression)

建立 BinaryExpression 一個代表位元右移指派運算的 。

RightShiftAssign(Expression, Expression, MethodInfo)

建立 BinaryExpression 一個代表位元右移指派運算的 。

RightShiftAssign(Expression, Expression)

建立 BinaryExpression 一個代表位元右移指派運算的 。

RuntimeVariables(IEnumerable<ParameterExpression>)

建立 的實例 RuntimeVariablesExpression

RuntimeVariables(ParameterExpression[])

建立 的實例 RuntimeVariablesExpression

Subtract(Expression, Expression, MethodInfo)

建立 BinaryExpression 一個代表算術減法運算且不包含溢位檢查的 a。

Subtract(Expression, Expression)

建立 BinaryExpression 一個代表算術減法運算且不包含溢位檢查的 a。

SubtractAssign(Expression, Expression, MethodInfo, LambdaExpression)

建立 BinaryExpression 一個代表減法指派操作且不包含溢位檢查的 a。

SubtractAssign(Expression, Expression, MethodInfo)

建立 BinaryExpression 一個代表減法指派操作且不包含溢位檢查的 a。

SubtractAssign(Expression, Expression)

建立 BinaryExpression 一個代表減法指派操作且不包含溢位檢查的 a。

SubtractAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)

建立 BinaryExpression 一個代表減法指派操作且帶有溢位檢查的操作。

SubtractAssignChecked(Expression, Expression, MethodInfo)

建立 BinaryExpression 一個代表減法指派操作且帶有溢位檢查的操作。

SubtractAssignChecked(Expression, Expression)

建立 BinaryExpression 一個代表減法指派操作且帶有溢位檢查的操作。

SubtractChecked(Expression, Expression, MethodInfo)

建立 BinaryExpression 一個代表帶有溢位檢查的算術減法運算。

SubtractChecked(Expression, Expression)

建立 BinaryExpression 一個代表帶有溢位檢查的算術減法運算。

Switch(Expression, Expression, MethodInfo, IEnumerable<SwitchCase>)

建立 SwitchExpression 一個代表 switch 有預設格的陳述。

Switch(Expression, Expression, MethodInfo, SwitchCase[])

建立 SwitchExpression 一個代表 switch 有預設格的陳述。

Switch(Expression, Expression, SwitchCase[])

建立 SwitchExpression 一個代表 switch 有預設格的陳述。

Switch(Expression, SwitchCase[])

建立 SwitchExpression 一個表示 switch 沒有預設格的陳述。

Switch(Type, Expression, Expression, MethodInfo, IEnumerable<SwitchCase>)

建立 SwitchExpression 一個代表 switch 有預設格的陳述。

Switch(Type, Expression, Expression, MethodInfo, SwitchCase[])

建立 SwitchExpression 一個代表 switch 有預設格的陳述。

SwitchCase(Expression, Expression[])

在 中建立 SwitchCase 一個 。SwitchExpression

SwitchCase(Expression, IEnumerable<Expression>)

建立 SwitchCase 一個物件,用於物件中 SwitchExpression

SymbolDocument(String, Guid, Guid, Guid)

建立 的實例 SymbolDocumentInfo

SymbolDocument(String, Guid, Guid)

建立 的實例 SymbolDocumentInfo

SymbolDocument(String, Guid)

建立 的實例 SymbolDocumentInfo

SymbolDocument(String)

建立 的實例 SymbolDocumentInfo

Throw(Expression, Type)

建立 UnaryExpression 一個代表以特定型別拋出例外的 a。

Throw(Expression)

產生 UnaryExpression 代表拋入例外的 a。

ToString()

回傳 的文字表示 Expression

TryCatch(Expression, CatchBlock[])

建立 TryExpression 一個代表嘗試區塊的區塊,包含任意數量的捕捉語句,且既無錯誤也無最終阻塞。

TryCatchFinally(Expression, Expression, CatchBlock[])

建立 TryExpression 一個代表 try 區塊的 ,包含任意數量的捕捉語句和一個 finally 區塊。

TryFault(Expression, Expression)

建立 TryExpression 一個代表嘗試區塊的錯誤區塊,且沒有捕捉語句。

TryFinally(Expression, Expression)

建立 TryExpression 一個表示 try 區塊的 finally 區塊,且沒有捕捉語句。

TryGetActionType(Type[], Type)

建立 Type 一個物件,代表具有特定型別參數的通用 System.Action 代理型別。

TryGetFuncType(Type[], Type)

建立 Type 一個物件,代表具有特定型別參數的 System.Func 代理型態。 最後一個型態參數指定所建立代理的回傳型態。

TypeAs(Expression, Type)

建立 UnaryExpression 一個代表明確參考或盒裝轉換的 ,若 null 轉換失敗則提供 。

TypeEqual(Expression, Type)

建立 TypeBinaryExpression 一個比較執行時型態身份的 。

TypeIs(Expression, Type)

建立 TypeBinaryExpression

UnaryPlus(Expression, MethodInfo)

會產生 UnaryExpression 一個代表一元加運算的 a。

UnaryPlus(Expression)

會產生 UnaryExpression 一個代表一元加運算的 a。

Unbox(Expression, Type)

創造一個 UnaryExpression 代表明確拆箱的 a。

Variable(Type, String)

建立 ParameterExpression 一個節點,可用於識別表達式樹中的參數或變數。

Variable(Type)

建立 ParameterExpression 一個節點,可用於識別表達式樹中的參數或變數。

VisitChildren(ExpressionVisitor)

將節點簡化,然後呼叫訪客代理處理簡化表達式。 若節點不可約,方法會拋出例外。

適用於