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

构造函数

名称 说明
Expression()

构造一个新实例 Expression

Expression(ExpressionType, Type)
已过时.

初始化 Expression 类的新实例。

属性

名称 说明
CanReduce

指示节点可以缩减为更简单的节点。 如果返回 true,则可以调用 Reduce()以生成化简形式。

NodeType

获取此 Expression类型的节点类型。

Type

获取表示 Expression 的表达式的静态类型。

方法

名称 说明
Accept(ExpressionVisitor)

调度到此节点类型的特定访问方法。 例如,MethodCallExpression调用 .VisitMethodCall(MethodCallExpression)

Add(Expression, Expression, MethodInfo)

创建一个 BinaryExpression 表示没有溢出检查的算术加法运算。 可以指定实现方法。

Add(Expression, Expression)

创建一个 BinaryExpression 表示没有溢出检查的算术加法运算。

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。 可以指定实现方法。

And(Expression, Expression)

创建一个表示按位BinaryExpression操作的运算AND

AndAlso(Expression, Expression, MethodInfo)

创建一个 BinaryExpression 表示条件 AND 操作,仅当第一个操作数解析为 true 时,才会计算第二个操作数。 可以指定实现方法。

AndAlso(Expression, Expression)

创建一个BinaryExpression表示仅在第一个操作数计算结果为AND时计算第二个操作数的条件true运算。

AndAssign(Expression, Expression, MethodInfo, LambdaExpression)

创建表示按位 AND 赋值操作的 A BinaryExpression

AndAssign(Expression, Expression, MethodInfo)

创建表示按位 AND 赋值操作的 A BinaryExpression

AndAssign(Expression, Expression)

创建表示按位 AND 赋值操作的 A BinaryExpression

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[])

创建一个 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, Expression, Type)

创建一个 GotoExpression 表示具有指定类型的 break 语句。 可以指定跳转时传递给标签的值。

Break(LabelTarget, Expression)

创建一个 GotoExpression 表示 break 语句。 可以指定跳转时传递给标签的值。

Break(LabelTarget, Type)

创建一个 GotoExpression 表示具有指定类型的 break 语句。

Break(LabelTarget)

创建一个 GotoExpression 表示 break 语句。

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表示对采用一个参数的 (static在 Visual Basic) 方法的调用Shared

Call(MethodInfo, Expression[])

创建一个MethodCallExpression表示对具有参数的 (static在 Visual Basic) 方法的调用Shared

Call(MethodInfo, IEnumerable<Expression>)

创建一个 MethodCallExpression 表示对静态(在 Visual Basic 中共享)方法的调用。

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

通过调用适当的工厂方法创建一个MethodCallExpression表示对 (static在 Visual Basic) 方法的调用Shared

Catch(ParameterExpression, Expression, Expression)

创建一个 CatchBlock 表示具有筛选器的 Exception catch 语句和对捕获 Exception 对象的引用。

Catch(ParameterExpression, Expression)

创建一个 CatchBlock 表示 catch 语句,其中包含对捕获 Exception 对象的引用,以便在处理程序正文中使用。

Catch(Type, Expression, Expression)

创建一个 CatchBlock 表示具有 Exception 筛选器的 catch 语句,但不引用捕获 Exception 的对象。

Catch(Type, Expression)

创建一个 CatchBlock 表示 catch 语句。

ClearDebugInfo(SymbolDocumentInfo)

创建用于清除序列点的 A DebugInfoExpression

Coalesce(Expression, Expression, LambdaExpression)

创建一个 BinaryExpression 表示合并操作(给定转换函数)的合并操作。

Coalesce(Expression, Expression)

创建表示合并操作的一 BinaryExpression 个。

Condition(Expression, Expression, Expression, Type)

创建一个 ConditionalExpression 表示条件语句的语句。

Condition(Expression, Expression, Expression)

创建一个 ConditionalExpression 表示条件语句的语句。

Constant(Object, Type)

创建一个 ConstantExpressionValueType 属性设置为指定值。

Constant(Object)

创建一个 ConstantExpression 属性 Value 设置为指定值。

Continue(LabelTarget, Type)

创建一个 GotoExpression 表示具有指定类型的 continue 语句。

Continue(LabelTarget)

创建一个 GotoExpression 表示 continue 语句。

Convert(Expression, Type, MethodInfo)

创建一个 UnaryExpression 表示为其指定实现方法的转换操作的转换操作。

Convert(Expression, Type)

创建表示类型转换操作的一个 UnaryExpression

ConvertChecked(Expression, Type, MethodInfo)

创建一个 UnaryExpression 表示转换操作,如果目标类型溢出并指定了实现方法,则会引发异常。

ConvertChecked(Expression, Type)

创建一个 UnaryExpression 表示在目标类型溢出时引发异常的转换操作。

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

使用指定的范围创建一个 DebugInfoExpression

Decrement(Expression, MethodInfo)

创建一个表示表达式递减 1 的表达式 UnaryExpression

Decrement(Expression)

创建一个表示表达式递减 1 的表达式 UnaryExpression

Default(Type)

创建一个 DefaultExpression 属性 Type 设置为指定类型。

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 表示按位 XOR 分配操作,用于 op_ExclusiveOr 用户定义的类型。

ExclusiveOrAssign(Expression, Expression, MethodInfo)

创建一个 BinaryExpression 表示按位 XOR 分配操作,用于 op_ExclusiveOr 用户定义的类型。

ExclusiveOrAssign(Expression, Expression)

创建一个 BinaryExpression 表示按位 XOR 分配操作,用于 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 表示“go to”语句。 可以指定跳转时传递给标签的值。

Goto(LabelTarget, Type)

创建一个 GotoExpression 表示具有指定类型的“go to”语句。

Goto(LabelTarget)

创建一个 GotoExpression 表示“go to”语句。

GreaterThan(Expression, Expression, Boolean, MethodInfo)

创建表示“大于”数值比较的一个 BinaryExpression 值。 可以指定实现方法。

GreaterThan(Expression, Expression)

创建表示“大于”数值比较的一个 BinaryExpression 值。

GreaterThanOrEqual(Expression, Expression, Boolean, MethodInfo)

创建表示“大于或等于”数值比较的一个 BinaryExpression 值。

GreaterThanOrEqual(Expression, Expression)

创建表示“大于或等于”数值比较的一个 BinaryExpression 值。

IfThen(Expression, Expression)

创建一个 ConditionalExpression 表示带有 if 语句的条件块。

IfThenElse(Expression, Expression, Expression)

创建一个 ConditionalExpression 表示带 if 语句的条件块和 else 语句。

Increment(Expression, MethodInfo)

创建一个表示表达式递增 1 的表达式 UnaryExpression

Increment(Expression)

创建一个 UnaryExpression 表示表达式值递增的 1。

Invoke(Expression, Expression[])

创建一个 InvocationExpression 将委托或 lambda 表达式应用于参数表达式列表的表达式。

Invoke(Expression, IEnumerable<Expression>)

创建一个 InvocationExpression 将委托或 lambda 表达式应用于参数表达式列表的表达式。

IsFalse(Expression, MethodInfo)

返回表达式的计算结果是否为 false。

IsFalse(Expression)

返回表达式的计算结果是否为 false。

IsTrue(Expression, MethodInfo)

返回表达式的计算结果是否为 true。

IsTrue(Expression)

返回表达式的计算结果是否为 true。

Label()

创建一个 LabelTarget 表示具有 void 类型且无名称的标签。

Label(LabelTarget, Expression)

创建一个 LabelExpression 表示具有给定默认值的标签。

Label(LabelTarget)

创建一个 LabelExpression 表示不带默认值的标签。

Label(String)

创建一个 LabelTarget 表示具有 void 类型和给定名称的标签。

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>)

LambdaExpression通过首先从表达式正文构造委托类型、lambda 的名称、指示是否将应用结尾调用优化的参数以及参数表达式的可枚举集合来创建委托类型。 在编译时不知道委托类型时,可以使用它。

Lambda(Expression, String, IEnumerable<ParameterExpression>)

LambdaExpression通过首先从表达式正文、lambda 的名称和参数表达式的可枚举集合构造委托类型来创建委托类型。 在编译时不知道委托类型时,可以使用它。

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

LeftShift(Expression, Expression)

创建一个表示按位左移操作的运算 BinaryExpression

LeftShiftAssign(Expression, Expression, MethodInfo, LambdaExpression)

创建表示按位左移赋值操作的 A BinaryExpression

LeftShiftAssign(Expression, Expression, MethodInfo)

创建表示按位左移赋值操作的 A BinaryExpression

LeftShiftAssign(Expression, Expression)

创建表示按位左移赋值操作的 A 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)

使用给定正文创建一个 LoopExpression

Loop(Expression, LabelTarget)

使用给定正文创建一个 LoopExpression 并中断目标。

Loop(Expression)

使用给定正文创建一个 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 表示具有指定元素的 catch 语句。

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 表示没有溢出检查的算术乘法运算。

Multiply(Expression, Expression)

创建一个 BinaryExpression 表示没有溢出检查的算术乘法运算。

MultiplyAssign(Expression, Expression, MethodInfo, LambdaExpression)

创建一个 BinaryExpression 表示没有溢出检查的乘法赋值操作。

MultiplyAssign(Expression, Expression, MethodInfo)

创建一个 BinaryExpression 表示没有溢出检查的乘法赋值操作。

MultiplyAssign(Expression, Expression)

创建一个 BinaryExpression 表示没有溢出检查的乘法赋值操作。

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

Negate(Expression)

创建一个表示算术求反运算的运算 UnaryExpression

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)

返回表示补数的表达式。

OnesComplement(Expression)

返回表示补数的表达式。

Or(Expression, Expression, MethodInfo)

创建一个表示按位BinaryExpression操作的运算OR

Or(Expression, Expression)

创建一个表示按位BinaryExpression操作的运算OR

OrAssign(Expression, Expression, MethodInfo, LambdaExpression)

创建表示按位 OR 分配操作的一个 BinaryExpression

OrAssign(Expression, Expression, MethodInfo)

创建表示按位 OR 分配操作的一个 BinaryExpression

OrAssign(Expression, Expression)

创建表示按位 OR 分配操作的一个 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

PowerAssign(Expression, Expression, MethodInfo)

创建一个表示将表达式提升为幂并将结果赋回表达式的表达式 BinaryExpression

PowerAssign(Expression, Expression)

创建一个表示将表达式提升为幂并将结果赋回表达式的表达式 BinaryExpression

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 返回 true,则应返回有效的表达式。 此方法可以返回必须自行减少的另一个节点。

ReduceAndCheck()

将此节点减少为更简单的表达式。 如果 CanReduce 返回 true,则应返回有效的表达式。 此方法可以返回必须自行减少的另一个节点。

ReduceExtensions()

将表达式减少为已知节点类型(不是扩展节点),或者仅返回表达式(如果它已是已知类型)。

ReferenceEqual(Expression, Expression)

创建一个表示引用相等比较的项 BinaryExpression

ReferenceNotEqual(Expression, Expression)

创建一个表示引用不相等比较的引用 BinaryExpression

Rethrow()

创建一个表示重新引发异常的函数 UnaryExpression

Rethrow(Type)

创建一个 UnaryExpression 表示具有给定类型的异常的重新引发。

Return(LabelTarget, Expression, Type)

创建一个 GotoExpression 表示具有指定类型的 return 语句。 可以指定跳转时传递给标签的值。

Return(LabelTarget, Expression)

创建一个 GotoExpression 表示返回语句。 可以指定跳转时传递给标签的值。

Return(LabelTarget, Type)

创建一个 GotoExpression 表示具有指定类型的 return 语句。

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 表示没有溢出检查的算术减法运算。

Subtract(Expression, Expression)

创建一个 BinaryExpression 表示没有溢出检查的算术减法运算。

SubtractAssign(Expression, Expression, MethodInfo, LambdaExpression)

创建一个 BinaryExpression 表示没有溢出检查的减法赋值运算。

SubtractAssign(Expression, Expression, MethodInfo)

创建一个 BinaryExpression 表示没有溢出检查的减法赋值运算。

SubtractAssign(Expression, Expression)

创建一个 BinaryExpression 表示没有溢出检查的减法赋值运算。

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>)

创建一个SwitchExpressionswitch表示具有默认事例的语句。

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

创建一个SwitchExpressionswitch表示具有默认事例的语句。

Switch(Expression, Expression, SwitchCase[])

创建一个SwitchExpressionswitch表示具有默认事例的语句。

Switch(Expression, SwitchCase[])

创建一个 SwitchExpression 表示没有默认事例的 switch 语句。

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

创建一个SwitchExpressionswitch表示具有默认事例的语句。

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

创建一个SwitchExpressionswitch表示具有默认事例的语句。

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 表示具有给定类型的异常的引发。

Throw(Expression)

创建一个表示引发异常的异常 UnaryExpression

ToString()

返回文本 Expression表示形式。

TryCatch(Expression, CatchBlock[])

创建一个 TryExpression 表示具有任意数量的 catch 语句的 try 块,既不是故障,也不是最终块。

TryCatchFinally(Expression, Expression, CatchBlock[])

创建一个 TryExpression 表示具有任意数量的 catch 语句和最后一个块的 try 块。

TryFault(Expression, Expression)

创建一个 TryExpression 表示具有故障块的 try 块,并且没有 catch 语句。

TryFinally(Expression, Expression)

创建一个 TryExpression 表示具有最终块且没有 catch 语句的 try 块。

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 元加运算。

UnaryPlus(Expression)

创建表示一元加运算的一 UnaryExpression 元加运算。

Unbox(Expression, Type)

创建表示显式取消装箱的一个 UnaryExpression

Variable(Type, String)

创建可用于 ParameterExpression 标识表达式树中的参数或变量的节点。

Variable(Type)

创建可用于 ParameterExpression 标识表达式树中的参数或变量的节点。

VisitChildren(ExpressionVisitor)

减少节点,然后在减少的表达式上调用访问者委托。 如果节点不可减少,该方法将引发异常。

适用于