Expression 類別

定義

提供基底類別,表示運算式樹狀架構節點的類別可由此基底類別衍生。 它也包含 static (在 Visual Basic 中為 Shared) Factory 方法來建立各種節點類型。 這是 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

建構函式

Expression()

建構 Expression 的新執行個體。

Expression(ExpressionType, Type)
已淘汰.
已淘汰.

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

屬性

CanReduce

表示節點可精簡為更簡單的節點。 如果傳回 true,則可呼叫 Reduce() 以產生精簡的形式。

NodeType

取得這個 Expression 的節點類型。

Type

取得此 Expression 代表之運算式的靜態類型。

方法

Accept(ExpressionVisitor)

分派給這個節點類型的特定造訪方法。 例如,MethodCallExpression 會呼叫 VisitMethodCall(MethodCallExpression)

Add(Expression, Expression)

建立 BinaryExpression,其代表不含溢位檢查的算術加法運算。

Add(Expression, Expression, MethodInfo)

建立 BinaryExpression,其代表不含溢位檢查的算術加法運算。 實作的方法可加以指定。

AddAssign(Expression, Expression)

建立 BinaryExpression,表示不含溢位檢查的加法指派運算。

AddAssign(Expression, Expression, MethodInfo)

建立 BinaryExpression,表示不含溢位檢查的加法指派運算。

AddAssign(Expression, Expression, MethodInfo, LambdaExpression)

建立 BinaryExpression,表示不含溢位檢查的加法指派運算。

AddAssignChecked(Expression, Expression)

建立 BinaryExpression,表示包含溢位檢查的加法指派運算。

AddAssignChecked(Expression, Expression, MethodInfo)

建立 BinaryExpression,表示包含溢位檢查的加法指派運算。

AddAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)

建立 BinaryExpression,表示包含溢位檢查的加法指派運算。

AddChecked(Expression, Expression)

建立 BinaryExpression,其代表包含溢位檢查的算術加法運算。

AddChecked(Expression, Expression, MethodInfo)

建立 BinaryExpression,其代表包含溢位檢查的算術加法運算。 實作的方法可加以指定。

And(Expression, Expression)

建立表示位元 BinaryExpression 運算的 AND

And(Expression, Expression, MethodInfo)

建立表示位元 BinaryExpression 運算的 AND。 實作的方法可加以指定。

AndAlso(Expression, Expression)

建立 BinaryExpression,表示只在第一個運算元計算結果為 AND 時才求第二個運算元之值的 true 條件運算。

AndAlso(Expression, Expression, MethodInfo)

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

AndAssign(Expression, Expression)

建立表示位元 AND 指派運算的 BinaryExpression

AndAssign(Expression, Expression, MethodInfo)

建立表示位元 AND 指派運算的 BinaryExpression

AndAssign(Expression, Expression, MethodInfo, LambdaExpression)

建立表示位元 AND 指派運算的 BinaryExpression

ArrayAccess(Expression, Expression[])

建立 IndexExpression 以存取陣列。

ArrayAccess(Expression, IEnumerable<Expression>)

建立 IndexExpression 以存取多維陣列。

ArrayIndex(Expression, Expression)

建立 BinaryExpression,代表將陣列索引運算子套用到陣序規範 1 的陣列。

ArrayIndex(Expression, Expression[])

建立 MethodCallExpression,代表將陣列索引運算子套用到多維陣列。

ArrayIndex(Expression, IEnumerable<Expression>)

建立 MethodCallExpression,代表將陣列索引運算子套用到陣序規範大於 1 的陣列。

ArrayLength(Expression)

建立 UnaryExpression,代表用於取得一維陣列長度的運算式。

Assign(Expression, Expression)

建立代表指派運算的 BinaryExpression

Bind(MemberInfo, Expression)

建立 MemberAssignment,代表初始化欄位或屬性。

Bind(MethodInfo, Expression)

建立 MemberAssignment,代表使用屬性存取子方法初始化成員。

Block(Expression, Expression)

建立包含兩個運算式但沒有任何變數的 BlockExpression

Block(Expression, Expression, Expression)

建立包含三個運算式但沒有任何變數的 BlockExpression

Block(Expression, Expression, Expression, Expression)

建立包含四個運算式但沒有任何變數的 BlockExpression

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

建立包含五個運算式但沒有任何變數的 BlockExpression

Block(Expression[])

建立包含指定的運算式但沒有任何變數的 BlockExpression

Block(IEnumerable<Expression>)

建立包含指定的運算式但沒有任何變數的 BlockExpression

Block(IEnumerable<ParameterExpression>, Expression[])

建立包含指定之變數和運算式的 BlockExpression

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

建立包含指定之變數和運算式的 BlockExpression

Block(Type, Expression[])

建立包含指定的運算式、有指定之結果類型、但沒有任何變數的 BlockExpression

Block(Type, IEnumerable<Expression>)

建立包含指定的運算式、有指定之結果類型、但沒有任何變數的 BlockExpression

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

建立包含指定之變數和運算式的 BlockExpression

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

建立包含指定之變數和運算式的 BlockExpression

Break(LabelTarget)

建立表示 break 陳述式的 GotoExpression

Break(LabelTarget, Expression)

建立表示 break 陳述式的 GotoExpression。 可以指定跳躍時傳遞至標籤的值。

Break(LabelTarget, Expression, Type)

建立 GotoExpression,表示含指定之類型的 break 陳述式。 可以指定跳躍時傳遞至標籤的值。

Break(LabelTarget, Type)

建立 GotoExpression,表示含指定之類型的 break 陳述式。

Call(Expression, MethodInfo)

建立代表呼叫不採用任何引數之方法的 MethodCallExpression

Call(Expression, MethodInfo, Expression, Expression)

建立 MethodCallExpression,代表呼叫採用兩個引數的方法。

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

建立 MethodCallExpression,代表呼叫採用三個引數的方法。

Call(Expression, MethodInfo, Expression[])

建立代表呼叫至採用引數之方法的 MethodCallExpression

Call(Expression, MethodInfo, IEnumerable<Expression>)

建立代表呼叫至採用引數之方法的 MethodCallExpression

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

建立 MethodCallExpression,代表透過呼叫適當的 Factory 方法來呼叫方法。

Call(MethodInfo, Expression)

建立 MethodCallExpression,代表呼叫採用一個引數的 static (在 Visual Basic 中則為 Shared) 方法。

Call(MethodInfo, Expression, Expression)

建立 MethodCallExpression,代表呼叫採用兩個引數的靜態方法。

Call(MethodInfo, Expression, Expression, Expression)

建立 MethodCallExpression,代表呼叫採用三個引數的靜態方法。

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

建立 MethodCallExpression,代表呼叫採用四個引數的靜態方法。

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

建立 MethodCallExpression,代表呼叫採用五個引數的靜態方法。

Call(MethodInfo, Expression[])

建立 MethodCallExpression,代表呼叫有引數的 static (在 Visual Basic 中則為 Shared) 方法。

Call(MethodInfo, IEnumerable<Expression>)

建立 MethodCallExpression,代表呼叫靜態方法 (在 Visual Basic 中為共用方法)。

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

建立 MethodCallExpression,代表透過呼叫適當的 Factory 方法來呼叫 static (在 Visual Basic 中則為 Shared) 方法。

Catch(ParameterExpression, Expression)

建立 CatchBlock,代表包含已攔截 Exception 物件參考的 catch 陳述式,以便用於處理常式主體。

Catch(ParameterExpression, Expression, Expression)

建立 CatchBlock,代表包含 Exception 篩選條件和已攔截 Exception 物件參考的 catch 陳述式。

Catch(Type, Expression)

建立代表 catch 陳述式的 CatchBlock

Catch(Type, Expression, Expression)

建立 CatchBlock,代表包含 Exception 篩選條件但沒有已攔截 Exception 物件參考的 catch 陳述式。

ClearDebugInfo(SymbolDocumentInfo)

建立用於清除序列點的 DebugInfoExpression

Coalesce(Expression, Expression)

建立代表聯合運算的 BinaryExpression

Coalesce(Expression, Expression, LambdaExpression)

指定轉換函式,建立代表聯合運算的 BinaryExpression

Condition(Expression, Expression, Expression)

建立表示條件陳述式的 ConditionalExpression

Condition(Expression, Expression, Expression, Type)

建立表示條件陳述式的 ConditionalExpression

Constant(Object)

建立 ConstantExpression,其 Value 屬性設定為指定的值。

Constant(Object, Type)

建立 ConstantExpression,其 ValueType 屬性設定為指定的值。

Continue(LabelTarget)

建立代表 continue 陳述式的 GotoExpression

Continue(LabelTarget, Type)

建立 GotoExpression,代表含指定之類型的 continue 陳述式。

Convert(Expression, Type)

建立代表類型轉換作業的 UnaryExpression

Convert(Expression, Type, MethodInfo)

建立代表轉換作業的 UnaryExpression,此轉換作業已指定實作方法。

ConvertChecked(Expression, Type)

建立代表轉換作業的 UnaryExpression;若目標類型已溢位,此運算式便會擲回例外狀況。

ConvertChecked(Expression, Type, MethodInfo)

建立代表轉換作業的 UnaryExpression,如果目標類型已溢位,且已指定此作業的實作方法,則此作業會擲回例外狀況。

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

使用指定的時間範圍建立 DebugInfoExpression

Decrement(Expression)

建立 UnaryExpression,代表運算式遞減 1。

Decrement(Expression, MethodInfo)

建立 UnaryExpression,代表運算式遞減 1。

Default(Type)

建立 DefaultExpression,其 Type 屬性設定為指定的類型。

Divide(Expression, Expression)

建立代表算術除法運算的 BinaryExpression

Divide(Expression, Expression, MethodInfo)

建立代表算術除法運算的 BinaryExpression。 實作的方法可加以指定。

DivideAssign(Expression, Expression)

建立 BinaryExpression,代表不含溢位檢查的除法指派運算。

DivideAssign(Expression, Expression, MethodInfo)

建立 BinaryExpression,代表不含溢位檢查的除法指派運算。

DivideAssign(Expression, Expression, MethodInfo, LambdaExpression)

建立 BinaryExpression,代表不含溢位檢查的除法指派運算。

Dynamic(CallSiteBinder, Type, Expression)

建立 DynamicExpression,代表指定之 CallSiteBinder 所繫結的動態運算。

Dynamic(CallSiteBinder, Type, Expression, Expression)

建立 DynamicExpression,代表指定之 CallSiteBinder 所繫結的動態運算。

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

建立 DynamicExpression,代表指定之 CallSiteBinder 所繫結的動態運算。

Dynamic(CallSiteBinder, Type, Expression, Expression, Expression, 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)

建立代表相等比較的 BinaryExpression

Equal(Expression, Expression, Boolean, MethodInfo)

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

Equals(Object)

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

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

使用 BinaryExpression 做為使用者定義的類型,建立表示位元 XOR 運算的 op_ExclusiveOr

ExclusiveOr(Expression, Expression, MethodInfo)

使用 BinaryExpression 做為使用者定義的類型,建立表示位元 XOR 運算的 op_ExclusiveOr。 實作的方法可加以指定。

ExclusiveOrAssign(Expression, Expression)

BinaryExpression針對使用者定義型別, op_ExclusiveOr 建立表示位 XOR 指派作業的 。

ExclusiveOrAssign(Expression, Expression, MethodInfo)

BinaryExpression針對使用者定義型別, op_ExclusiveOr 建立表示位 XOR 指派作業的 。

ExclusiveOrAssign(Expression, Expression, MethodInfo, LambdaExpression)

BinaryExpression針對使用者定義型別, op_ExclusiveOr 建立表示位 XOR 指派作業的 。

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)

建立表示 "go to" 陳述式的 GotoExpression

Goto(LabelTarget, Expression)

建立表示 "go to" 陳述式的 GotoExpression。 可以指定跳躍時傳遞至標籤的值。

Goto(LabelTarget, Expression, Type)

建立 GotoExpression,表示含指定之類型的 "go to" 陳述式。 可以指定跳躍時傳遞至標籤的值。

Goto(LabelTarget, Type)

建立 GotoExpression,表示含指定之類型的 "go to" 陳述式。

GreaterThan(Expression, Expression)

建立代表「大於」數值比較的 BinaryExpression

GreaterThan(Expression, Expression, Boolean, MethodInfo)

建立代表「大於」數值比較的 BinaryExpression。 實作的方法可加以指定。

GreaterThanOrEqual(Expression, Expression)

建立代表「大於或等於」數值比較的 BinaryExpression

GreaterThanOrEqual(Expression, Expression, Boolean, MethodInfo)

建立代表「大於或等於」數值比較的 BinaryExpression

IfThen(Expression, Expression)

建立 ConditionalExpression,代表具有 if 陳述式的條件區塊。

IfThenElse(Expression, Expression, Expression)

建立 ConditionalExpression,代表具有 ifelse 陳述式的條件區塊。

Increment(Expression)

建立 UnaryExpression,表示運算式值遞增 1。

Increment(Expression, MethodInfo)

建立 UnaryExpression,代表運算式遞增 1。

Invoke(Expression, Expression[])

建立 InvocationExpression,將委派或 Lambda 運算式套用至引數運算式清單。

Invoke(Expression, IEnumerable<Expression>)

建立 InvocationExpression,將委派或 Lambda 運算式套用至引數運算式清單。

IsFalse(Expression)

傳回運算式是否評估為 false。

IsFalse(Expression, MethodInfo)

傳回運算式是否評估為 false。

IsTrue(Expression)

傳回運算式是否評估為 true。

IsTrue(Expression, MethodInfo)

傳回運算式是否評估為 true。

Label()

建立 LabelTarget,代表包含 void 類型但沒有名稱的標籤。

Label(LabelTarget)

建立 LabelExpression,代表沒有預設值的標籤。

Label(LabelTarget, Expression)

建立 LabelExpression,代表包含指定之預設值的標籤。

Label(String)

建立 LabelTarget,代表包含 void 類型和指定之名稱的標籤。

Label(Type)

建立 LabelTarget,代表包含指定之類型的標籤。

Label(Type, String)

建立 LabelTarget,代表包含指定之類型和名稱的標籤。

Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)

先從運算式主體建構委派型別、指出是否套用 tail 呼叫最佳化的參數與參數運算式的可列舉集合,以建立 LambdaExpression。 它可用於在編譯階段不知道委派類型時。

Lambda(Expression, Boolean, ParameterExpression[])

先從運算式主體建構委派型別、指出是否套用 tail 呼叫最佳化的參數與參數運算式的陣列,以建立 LambdaExpression。 它可用於在編譯階段不知道委派類型時。

Lambda(Expression, IEnumerable<ParameterExpression>)

先從運算式主體建構委派型別與參數運算式的可列舉集合,以建立 LambdaExpression。 它可用於在編譯階段不知道委派類型時。

Lambda(Expression, ParameterExpression[])

先從運算式主體建構委派型別與參數運算式的陣列,以建立 LambdaExpression。 它可用於在編譯階段不知道委派類型時。

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

先從運算式主體建構委派型別、lambda 的名稱、指出是否套用 tail 呼叫最佳化的參數與參數運算式的可列舉集合,以建立 LambdaExpression。 它可用於在編譯階段不知道委派類型時。

Lambda(Expression, String, IEnumerable<ParameterExpression>)

先從運算式主體建構委派型別、lambda 的名稱與參數運算式的可列舉集合,以建立 LambdaExpression。 它可用於在編譯階段不知道委派類型時。

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

使用指出指出是否套用 tail 呼叫最佳化的參數與參數運算式的可列舉集合建立 LambdaExpression,其中委派型別在編譯時間為已知。

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

使用指出指出是否套用 tail 呼叫最佳化的參數與參數運算式的陣列建立 LambdaExpression,其中委派型別在編譯時間為已知。

Lambda(Type, Expression, IEnumerable<ParameterExpression>)

使用參數運算式的可列舉集合建立 LambdaExpression,其中委派型別在編譯時間為已知。

Lambda(Type, Expression, ParameterExpression[])

使用參數運算式的陣列建立 LambdaExpression,其中委派型別在編譯時間為已知。

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

使用 lambda 的名稱、指出指出是否套用 tail 呼叫最佳化的參數與參數運算式的可列舉集合建立 LambdaExpression,其中委派型別在編譯時間為已知。

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

使用 lambda 的名稱與參數運算式的可列舉集合建立 LambdaExpression,其中委派型別在編譯時間為已知。

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

使用指出指出是否套用 tail 呼叫最佳化的參數與參數運算式的可列舉集合建立 Expression<TDelegate>,其中委派型別在編譯時間為已知。

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

使用指出指出是否套用 tail 呼叫最佳化的參數與參數運算式的陣列建立 Expression<TDelegate>,其中委派型別在編譯時間為已知。

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

使用參數運算式的可列舉集合建立 Expression<TDelegate>,其中委派型別在編譯時間為已知。

Lambda<TDelegate>(Expression, ParameterExpression[])

使用參數運算式的陣列建立 Expression<TDelegate>,其中委派型別在編譯時間為已知。

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

使用 lambda 的名稱、指出指出是否套用 tail 呼叫最佳化的參數與參數運算式的可列舉集合建立 Expression<TDelegate>,其中委派型別在編譯時間為已知。

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

使用 lambda 的名稱與參數運算式的可列舉集合建立 Expression<TDelegate>,其中委派型別在編譯時間為已知。

LeftShift(Expression, Expression)

建立表示位元左移 (Left-Shift) 運算的 BinaryExpression

LeftShift(Expression, Expression, MethodInfo)

建立表示位元左移 (Left-Shift) 運算的 BinaryExpression

LeftShiftAssign(Expression, Expression)

建立表示位元左移位指派運算的 BinaryExpression

LeftShiftAssign(Expression, Expression, MethodInfo)

建立表示位元左移位指派運算的 BinaryExpression

LeftShiftAssign(Expression, Expression, MethodInfo, LambdaExpression)

建立表示位元左移位指派運算的 BinaryExpression

LessThan(Expression, Expression)

建立代表「小於」數值比較的 BinaryExpression

LessThan(Expression, Expression, Boolean, MethodInfo)

建立代表「小於」數值比較的 BinaryExpression

LessThanOrEqual(Expression, Expression)

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

LessThanOrEqual(Expression, Expression, Boolean, MethodInfo)

建立代表「小於或等於」數值比較的 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)

建立包含指定之主體的 LoopExpression

Loop(Expression, LabelTarget)

建立包含指定之主體和 break 目標的 LoopExpression

Loop(Expression, LabelTarget, LabelTarget)

建立包含指定之主體的 LoopExpression

MakeBinary(ExpressionType, Expression, Expression)

透過呼叫適當的 Factory 方法來建立 BinaryExpression,指定左運算元和右運算元。

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

透過呼叫適當的 Factory 方法來建立 BinaryExpression,指定左運算元、右運算元和實作方法。

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

透過呼叫適當的 Factory 方法來建立 BinaryExpression,指定左運算元、右運算元、實作方法和類型轉換函式。

MakeCatchBlock(Type, ParameterExpression, Expression, Expression)

建立 CatchBlock,代表含指定之項目的 catch 陳述式。

MakeDynamic(Type, CallSiteBinder, Expression)

建立 DynamicExpression,代表指定之 CallSiteBinder 和一個引數所繫結的動態運算。

MakeDynamic(Type, CallSiteBinder, Expression, Expression)

建立 DynamicExpression,代表指定之 CallSiteBinder 和兩個引數所繫結的動態運算。

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

建立 DynamicExpression,代表指定之 CallSiteBinder 和三個引數所繫結的動態運算。

MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression, 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)

指定運算元並呼叫適當的 Factory 方法,建立 UnaryExpression

MakeUnary(ExpressionType, Expression, Type, MethodInfo)

指定運算元和實作方法並透過呼叫適當的 Fatory 方法,建立 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)

建立代表算術餘數運算的 BinaryExpression

Modulo(Expression, Expression, MethodInfo)

建立代表算術餘數運算的 BinaryExpression

ModuloAssign(Expression, Expression)

建立表示餘數指派運算的 BinaryExpression

ModuloAssign(Expression, Expression, MethodInfo)

建立表示餘數指派運算的 BinaryExpression

ModuloAssign(Expression, Expression, MethodInfo, LambdaExpression)

建立表示餘數指派運算的 BinaryExpression

Multiply(Expression, Expression)

建立 BinaryExpression,其代表不含溢位檢查的算術乘法運算。

Multiply(Expression, Expression, MethodInfo)

建立 BinaryExpression,其代表不含溢位檢查的算術乘法運算。

MultiplyAssign(Expression, Expression)

建立 BinaryExpression,表示不含溢位檢查的乘法指派運算。

MultiplyAssign(Expression, Expression, MethodInfo)

建立 BinaryExpression,表示不含溢位檢查的乘法指派運算。

MultiplyAssign(Expression, Expression, MethodInfo, LambdaExpression)

建立 BinaryExpression,表示不含溢位檢查的乘法指派運算。

MultiplyAssignChecked(Expression, Expression)

建立 BinaryExpression,表示包含溢位檢查的乘法指派運算。

MultiplyAssignChecked(Expression, Expression, MethodInfo)

建立 BinaryExpression,表示包含溢位檢查的乘法指派運算。

MultiplyAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)

建立 BinaryExpression,表示包含溢位檢查的乘法指派運算。

MultiplyChecked(Expression, Expression)

建立 BinaryExpression,其代表包含溢位檢查的算術乘法運算。

MultiplyChecked(Expression, Expression, MethodInfo)

建立 BinaryExpression,其代表包含溢位檢查的算術乘法運算。

Negate(Expression)

建立代表算術負運算的 UnaryExpression

Negate(Expression, MethodInfo)

建立代表算術負運算的 UnaryExpression

NegateChecked(Expression)

建立 UnaryExpression,其代表包含溢位檢查的算術負運算。

NegateChecked(Expression, MethodInfo)

建立 UnaryExpression,其代表包含溢位檢查的算術負運算。 實作的方法可加以指定。

New(ConstructorInfo)

建立 NewExpression,代表呼叫不採用任何引數的指定建構函式。

New(ConstructorInfo, Expression[])

建立 NewExpression,其代表以指定之引數呼叫指定的建構函式。

New(ConstructorInfo, IEnumerable<Expression>)

建立 NewExpression,其代表以指定之引數呼叫指定的建構函式。

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

建立 NewExpression,其代表以指定之引數呼叫指定的建構函式。 已指定可存取由建構函式初始化欄位的成員。

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

建立 NewExpression,其代表以指定之引數呼叫指定的建構函式。 已指定可存取由建構函式初始化欄位的成員為陣列。

New(Type)

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

NewArrayBounds(Type, Expression[])

建立 NewArrayExpression,其代表建立具有指定之陣序的陣列。

NewArrayBounds(Type, IEnumerable<Expression>)

建立 NewArrayExpression,其代表建立具有指定之陣序的陣列。

NewArrayInit(Type, Expression[])

建立 NewArrayExpression,其代表建立一維陣列,並從項目清單將此陣列初始化。

NewArrayInit(Type, IEnumerable<Expression>)

建立 NewArrayExpression,其代表建立一維陣列,並從項目清單將此陣列初始化。

Not(Expression)

建立表示位元補數運算的 UnaryExpression

Not(Expression, MethodInfo)

建立表示位元補數運算的 UnaryExpression。 實作的方法可加以指定。

NotEqual(Expression, Expression)

建立代表不相等比較的 BinaryExpression

NotEqual(Expression, Expression, Boolean, MethodInfo)

建立代表不相等比較的 BinaryExpression

OnesComplement(Expression)

傳回表示 1 補數的運算式。

OnesComplement(Expression, MethodInfo)

傳回表示 1 補數的運算式。

Or(Expression, Expression)

建立表示位元 BinaryExpression 運算的 OR

Or(Expression, Expression, MethodInfo)

建立表示位元 BinaryExpression 運算的 OR

OrAssign(Expression, Expression)

建立表示位元 OR 指派運算的 BinaryExpression

OrAssign(Expression, Expression, MethodInfo)

建立表示位元 OR 指派運算的 BinaryExpression

OrAssign(Expression, Expression, MethodInfo, LambdaExpression)

建立表示位元 OR 指派運算的 BinaryExpression

OrElse(Expression, Expression)

建立 BinaryExpression,表示只在第一個運算元計算結果為 OR 時才求第二個運算元之值的 false 條件運算。

OrElse(Expression, Expression, MethodInfo)

建立 BinaryExpression,表示只在第一個運算元計算結果為 OR 時才求第二個運算元之值的 false 條件運算。

Parameter(Type)

建立 ParameterExpression 節點,此節點可用以識別運算式樹狀中的參數或變數。

Parameter(Type, String)

建立 ParameterExpression 節點,此節點可用以識別運算式樹狀中的參數或變數。

PostDecrementAssign(Expression)

建立 UnaryExpression,表示後面接續原始運算式遞減 1 的運算式指派。

PostDecrementAssign(Expression, MethodInfo)

建立 UnaryExpression,表示後面接續原始運算式遞減 1 的運算式指派。

PostIncrementAssign(Expression)

建立 UnaryExpression,表示後面接續原始運算式遞增 1 的運算式指派。

PostIncrementAssign(Expression, MethodInfo)

建立 UnaryExpression,表示後面接續原始運算式遞增 1 的運算式指派。

Power(Expression, Expression)

建立代表將數字提升為乘冪數的 BinaryExpression

Power(Expression, Expression, MethodInfo)

建立代表將數字提升為乘冪數的 BinaryExpression

PowerAssign(Expression, Expression)

建立 BinaryExpression,表示將運算式自乘為乘冪,並且將結果指派回運算式。

PowerAssign(Expression, Expression, MethodInfo)

建立 BinaryExpression,表示將運算式自乘為乘冪,並且將結果指派回運算式。

PowerAssign(Expression, Expression, MethodInfo, LambdaExpression)

建立 BinaryExpression,表示將運算式自乘為乘冪,並且將結果指派回運算式。

PreDecrementAssign(Expression)

建立 UnaryExpression,可讓運算式遞減 1,並將結果指派回運算式。

PreDecrementAssign(Expression, MethodInfo)

建立 UnaryExpression,可讓運算式遞減 1,並將結果指派回運算式。

PreIncrementAssign(Expression)

建立 UnaryExpression,可讓運算式遞增 1,並將結果指派回運算式。

PreIncrementAssign(Expression, MethodInfo)

建立 UnaryExpression,可讓運算式遞增 1,並將結果指派回運算式。

Property(Expression, MethodInfo)

建立 MemberExpression,代表透過使用屬性存取子來存取屬性。

Property(Expression, PropertyInfo)

建立代表存取屬性的 MemberExpression

Property(Expression, PropertyInfo, Expression[])

建立 IndexExpression,表示索引之屬性的存取結果。

Property(Expression, PropertyInfo, IEnumerable<Expression>)

建立 IndexExpression,表示索引之屬性的存取結果。

Property(Expression, String)

建立代表存取屬性的 MemberExpression

Property(Expression, String, Expression[])

建立 IndexExpression,表示索引之屬性的存取結果。

Property(Expression, Type, String)

建立用於存取屬性的 MemberExpression

PropertyOrField(Expression, String)

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

Quote(Expression)

建立 UnaryExpression,代表具有 Expression 類型常數值的運算式。

Reduce()

將這個節點精簡為更簡單的運算式。 如果 CanReduce 傳回 true,則應該傳回有效的運算式。 這個方法可以傳回其他本身必須精簡的節點。

ReduceAndCheck()

將這個節點精簡為更簡單的運算式。 如果 CanReduce 傳回 true,則應該傳回有效的運算式。 這個方法可以傳回其他本身必須精簡的節點。

ReduceExtensions()

將運算式精簡為已知的節點類型 (不是 Extension 節點),如果已經是已知的類型,則僅傳回運算式。

ReferenceEqual(Expression, Expression)

建立表示參考相等比較的 BinaryExpression

ReferenceNotEqual(Expression, Expression)

建立表示參考不相等比較的 BinaryExpression

Rethrow()

建立 UnaryExpression,表示重新擲回例外狀況。

Rethrow(Type)

建立 UnaryExpression,代表重新擲回含指定之類型的例外狀況。

Return(LabelTarget)

建立 GotoExpression,表示 return 陳述式。

Return(LabelTarget, Expression)

建立 GotoExpression,表示 return 陳述式。 可以指定跳躍時傳遞至標籤的值。

Return(LabelTarget, Expression, Type)

建立 GotoExpression,表示含指定之類型的 return 陳述式。 可以指定跳躍時傳遞至標籤的值。

Return(LabelTarget, Type)

建立 GotoExpression,表示含指定之類型的 return 陳述式。

RightShift(Expression, Expression)

建立代表位元右移 (Right-Shift) 運算的 BinaryExpression

RightShift(Expression, Expression, MethodInfo)

建立代表位元右移 (Right-Shift) 運算的 BinaryExpression

RightShiftAssign(Expression, Expression)

建立表示位元右移位指派運算的 BinaryExpression

RightShiftAssign(Expression, Expression, MethodInfo)

建立表示位元右移位指派運算的 BinaryExpression

RightShiftAssign(Expression, Expression, MethodInfo, LambdaExpression)

建立表示位元右移位指派運算的 BinaryExpression

RuntimeVariables(IEnumerable<ParameterExpression>)

建立 RuntimeVariablesExpression 的執行個體。

RuntimeVariables(ParameterExpression[])

建立 RuntimeVariablesExpression 的執行個體。

Subtract(Expression, Expression)

建立 BinaryExpression,其代表不含溢位檢查的算術減法運算。

Subtract(Expression, Expression, MethodInfo)

建立 BinaryExpression,其代表不含溢位檢查的算術減法運算。

SubtractAssign(Expression, Expression)

建立 BinaryExpression,表示不含溢位檢查的減法指派運算。

SubtractAssign(Expression, Expression, MethodInfo)

建立 BinaryExpression,表示不含溢位檢查的減法指派運算。

SubtractAssign(Expression, Expression, MethodInfo, LambdaExpression)

建立 BinaryExpression,表示不含溢位檢查的減法指派運算。

SubtractAssignChecked(Expression, Expression)

建立 BinaryExpression,表示包含溢位檢查的減法指派運算。

SubtractAssignChecked(Expression, Expression, MethodInfo)

建立 BinaryExpression,表示包含溢位檢查的減法指派運算。

SubtractAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)

建立 BinaryExpression,表示包含溢位檢查的減法指派運算。

SubtractChecked(Expression, Expression)

建立 BinaryExpression,其代表包含溢位檢查的算術減法運算。

SubtractChecked(Expression, Expression, MethodInfo)

建立 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,代表不含 default case 的 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)

建立 SymbolDocumentInfo 的執行個體。

SymbolDocument(String, Guid)

建立 SymbolDocumentInfo 的執行個體。

SymbolDocument(String, Guid, Guid)

建立 SymbolDocumentInfo 的執行個體。

SymbolDocument(String, Guid, Guid, Guid)

建立 SymbolDocumentInfo 的執行個體。

Throw(Expression)

建立 UnaryExpression,表示擲回例外狀況。

Throw(Expression, Type)

建立 UnaryExpression,代表擲回含指定之類型的例外狀況。

ToString()

傳回 Expression 的文字表示。

TryCatch(Expression, CatchBlock[])

建立 TryExpression,代表含 catch 陳述式 (數目不拘) 但不含 fault 區塊或 finally 區塊的 try 區塊。

TryCatchFinally(Expression, Expression, CatchBlock[])

建立 TryExpression,代表含 catch 陳述式 (數目不拘) 和 finally 區塊的 try 區塊。

TryFault(Expression, Expression)

建立 TryExpression,代表含 fault 區塊但不含任何 catch 陳述式的 try 區塊。

TryFinally(Expression, Expression)

建立 TryExpression,代表含 finally 區塊但不含任何 catch 陳述式的 try 區塊。

TryGetActionType(Type[], Type)

建立 Type 物件,這個物件代表具有特定型別引數的泛型 System.Action 委派類型。

TryGetFuncType(Type[], Type)

建立 Type 物件,這個物件代表具有特定類型引數的泛型 System.Func 委派類型。 最後一個類型引數指定已建立之委派的傳回類型。

TypeAs(Expression, Type)

建立 UnaryExpression,代表明確參考或 Boxing 轉換,其中若轉換失敗,則提供 null

TypeEqual(Expression, Type)

建立 TypeBinaryExpression 以比較執行階段類型識別。

TypeIs(Expression, Type)

建立 TypeBinaryExpression

UnaryPlus(Expression)

建立代表一元加法運算的 UnaryExpression

UnaryPlus(Expression, MethodInfo)

建立代表一元加法運算的 UnaryExpression

Unbox(Expression, Type)

建立 UnaryExpression,代表明確 Unboxing。

Variable(Type)

建立 ParameterExpression 節點,此節點可用以識別運算式樹狀中的參數或變數。

Variable(Type, String)

建立 ParameterExpression 節點,此節點可用以識別運算式樹狀中的參數或變數。

VisitChildren(ExpressionVisitor)

精簡節點,然後呼叫精簡後的運算式上的訪問項委派。 如果節點無法縮減,此方法會擲回例外狀況。

適用於