提供一种基类,表示表达式树节点的类派生自该基类。它还包含用来创建各种节点类型的static(在 Visual Basic 中为Shared)工厂方法。这是一个abstract 类。

Expression的构造函数

  • Expression(ExpressionType, Type)

    已过时。初始化Expression 类的新实例。

  • Expression()

    构造Expression 的新实例。

Expression的方法

  • Bind(MemberInfo, Expression)

    创建一个表示初始化字段或属性的MemberAssignment。

  • Bind(MethodInfo, Expression)

    使用属性访问器方法创建一个表示成员初始化的MemberAssignment。

  • Block(Expression[])

    创建一个BlockExpression,其中包含给定表达式,但不包含任何变量。

  • Assign

    创建一个表示赋值运算的BinaryExpression。

  • ArrayLength

    创建一个UnaryExpression,它表示用于获取一维数组的长度的表达式。

  • ArrayIndex(Expression,Expression[])

    创建一个表示对多维数组应用数组索引运算符的MethodCallExpression。

  • ArrayIndex(Expression, Expression)

    创建一个表示对秩为 1 的数组应用数组索引运算符的BinaryExpression。

  • Block(Type, IEnumerable)

    创建一个BlockExpression,其中包含给定表达式和特定结果类型,但不包含任何变量。

  • Block(Type,Expression[])

    创建一个BlockExpression,其中包含给定表达式和特定结果类型,但不包含任何变量。

  • ArrayIndex(Expression, IEnumerable)

    创建一个表示对秩大于 1 的数组应用数组索引运算符的MethodCallExpression。

  • ArrayAccess(Expression,Expression[])

    创建一个用于访问数组的IndexExpression。

  • ArrayAccess(Expression, IEnumerable)

    创建一个用于访问多维数组的IndexExpression。

  • AndAssign(Expression, Expression, MethodInfo, LambdaExpression)

    创建一个表示按位 AND 赋值运算的BinaryExpression。

  • AndAssign(Expression, Expression, MethodInfo)

    创建一个表示按位 AND 赋值运算的BinaryExpression。

  • AndAssign(Expression, Expression)

    创建一个表示按位 AND 赋值运算的BinaryExpression。

  • AndAlso(Expression, Expression, MethodInfo)

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

  • AndAlso(Expression, Expression)

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

  • And(Expression, Expression, MethodInfo)

    创建一个表示按位AND 运算的BinaryExpression。可指定实现方法。

  • And(Expression, Expression)

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

  • AddChecked(Expression, Expression, MethodInfo)

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

  • AddChecked(Expression, Expression)

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

  • AddAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)

    创建一个表示进行溢出检查的加法赋值运算的BinaryExpression。

  • AddAssignChecked(Expression, Expression, MethodInfo)

    创建一个表示进行溢出检查的加法赋值运算的BinaryExpression。

  • AddAssignChecked(Expression, Expression)

    创建一个表示进行溢出检查的加法赋值运算的BinaryExpression。

  • AddAssign(Expression, Expression, MethodInfo, LambdaExpression)

    创建一个表示不进行溢出检查的加法赋值运算的BinaryExpression。

  • AddAssign(Expression, Expression, MethodInfo)

    创建一个表示不进行溢出检查的加法赋值运算的BinaryExpression。

  • AddAssign(Expression, Expression)

    创建一个表示不进行溢出检查的加法赋值运算的BinaryExpression。

  • Add(Expression, Expression, MethodInfo)

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

  • Add(Expression, Expression)

    创建一个表示不进行溢出检查的算术加法运算的BinaryExpression。

  • Accept

    调度到此节点类型的特定 Visit 方法。例如,MethodCallExpression 调用VisitMethodCall。

  • Block(IEnumerable)

    创建一个BlockExpression,其中包含给定表达式,但不包含任何变量。

  • Block(Expression, Expression)

    创建一个BlockExpression,其中包含两个表达式,但不包含任何变量。

  • Block(IEnumerable, IEnumerable)

    创建一个BlockExpression,其中包含给定的变量和表达式。

  • Block(IEnumerable,Expression[])

    创建一个BlockExpression,其中包含给定的变量和表达式。

  • Block(Expression, Expression, Expression)

    创建一个BlockExpression,其中包含三个表达式,但不包含任何变量。

  • Block(Type, IEnumerable, IEnumerable)

    创建一个BlockExpression,其中包含给定的变量和表达式。

  • Block(Type, IEnumerable,Expression[])

    创建一个BlockExpression,其中包含给定的变量和表达式。

  • Block(Expression, Expression, Expression, Expression)

    创建一个BlockExpression,其中包含四个表达式,但不包含任何变量。

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

    创建一个BlockExpression,其中包含五个表达式,但不包含任何变量。

  • Break(LabelTarget)

    创建一个表示 break 语句的GotoExpression。

  • Break(LabelTarget, Expression)

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

  • Break(LabelTarget, Type)

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

  • Break(LabelTarget, Expression, Type)

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

  • Call(Expression, MethodInfo)

    创建一个MethodCallExpression,它表示对不带参数的实例方法的调用。

  • Call(MethodInfo, IEnumerable)

    创建一个MethodCallExpression,它表示对 static 方法(在 Visual Basic 中为 Shared 方法)的调用。

  • Call(MethodInfo, Expression)

    创建一个MethodCallExpression,它表示对使用一个参数的static 方法(在 Visual Basic 中为Shared 方法)的调用。

  • Call(MethodInfo,Expression[])

    创建一个MethodCallExpression,它表示对带参数的static 方法(在 Visual Basic 中为Shared 方法)的调用。

  • Call(Expression, MethodInfo, IEnumerable)

    创建一个表示调用带参数的方法的MethodCallExpression。

  • Call(Expression, MethodInfo,Expression[])

    创建一个表示调用带参数的方法的MethodCallExpression。

  • Call(MethodInfo, Expression, Expression)

    创建一个MethodCallExpression,它表示对使用两个参数的静态方法的调用。

  • Catch(Type, Expression)

    创建一个表示 catch 语句的CatchBlock。

  • Catch(ParameterExpression, Expression, Expression)

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

  • Catch(Type, Expression, Expression)

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

  • ClearDebugInfo

    创建一个用于清除序列点的DebugInfoExpression。

  • Coalesce(Expression, Expression)

    创建一个表示合并运算的BinaryExpression。

  • Coalesce(Expression, Expression, LambdaExpression)

    在给定转换函数的情况下,创建一个表示合并运算的BinaryExpression。

  • Condition(Expression, Expression, Expression)

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

  • Condition(Expression, Expression, Expression, Type)

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

  • Constant(Object)

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

  • Constant(Object, Type)

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

  • Continue(LabelTarget)

    创建一个表示 continue 语句的GotoExpression。

  • Continue(LabelTarget, Type)

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

  • Convert(Expression, Type)

    创建一个表示类型转换运算的UnaryExpression。

  • Convert(Expression, Type, MethodInfo)

    创建一个UnaryExpression,它表示实现方法已指定的转换运算。

  • ConvertChecked(Expression, Type)

    创建一个UnaryExpression,它表示在目标类型发生溢出时引发异常的转换运算。

  • ConvertChecked(Expression, Type, MethodInfo)

    创建一个UnaryExpression,它表示在目标类型发生溢出时引发异常并为其指定了实现方法的转换运算。

  • DebugInfo

    创建一个具有指定跨度的DebugInfoExpression。

  • Decrement(Expression)

    创建一个UnaryExpression,它表示按 1 递减表达式值。

  • Call(Expression, MethodInfo, Expression, Expression)

    创建一个MethodCallExpression,它表示对使用两个参数的静态方法的调用。

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

    通过调用适当的工厂方法创建一个表示调用实例方法的MethodCallExpression。

  • Call(MethodInfo, Expression, Expression, Expression)

    创建一个MethodCallExpression,它表示对使用三个参数的静态方法的调用。

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

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

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

    创建一个表示调用不带参数的方法的MethodCallExpression。

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

    创建一个MethodCallExpression,它表示对使用四个参数的静态方法的调用。

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

    创建一个MethodCallExpression,它表示对使用五个参数的静态方法的调用。

  • Catch(ParameterExpression, Expression)

    创建一个表示 catch 语句的CatchBlock,其中具有对已捕获的Exception 对象的引用以便在处理程序主体中使用。

  • 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, IEnumerable)

    创建一个DynamicExpression,它表示由提供的CallSiteBinder 绑定的动态操作。

  • Dynamic(CallSiteBinder, Type, Expression)

    创建一个DynamicExpression,它表示由提供的CallSiteBinder 绑定的动态操作。

  • 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 绑定的动态操作。

  • ElementInit(MethodInfo, IEnumerable)

    在给定IEnumerable<T> 作为第二个参数的情况下,创建一个ElementInit。

  • ElementInit(MethodInfo,Expression[])

    在给定值数组作为第二个参数的情况下,创建一个ElementInit。

  • Empty

    创建具有Void 类型的空表达式。

  • Equal(Expression, Expression)

    创建一个表示相等比较的BinaryExpression。

  • Equal(Expression, Expression, Boolean, MethodInfo)

    创建一个表示相等比较的BinaryExpression。可指定实现方法。

  • Equals(Object)

    确定指定的Object 是否等于当前的Object。(继承自Object。)

  • ExclusiveOr(Expression, Expression)

    通过对用户定义的类型使用op_ExclusiveOr,创建一个表示按位XOR 运算的BinaryExpression。

  • Decrement(Expression, MethodInfo)

    创建一个UnaryExpression,它表示按 1 递减表达式值。

  • Default

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

  • ExclusiveOr(Expression, Expression, MethodInfo)

    通过对用户定义的类型使用op_ExclusiveOr,创建一个表示按位XOR 运算的BinaryExpression。可指定实现方法。

  • ExclusiveOrAssign(Expression, Expression)

    通过对用户定义的类型使用op_ExclusiveOr,创建一个表示按位 XOR 赋值运算的BinaryExpression。

  • GetActionType

    创建一个Type 对象,它表示具有特定类型参数的泛型System.Action 委托类型。

  • GetDelegateType

    获取一个Type 对象,它表示具有特定类型参数的泛型System.Func 或System.Action 委托类型。

  • GetFuncType

    创建一个Type 对象,它表示具有特定类型参数的泛型System.Func 委托类型。最后一个类型参数指定已创建委托的返回类型。

  • GetHashCode

    用作特定类型的哈希函数。 (继承自Object。)

  • GetType

    获取当前实例的Type。(继承自Object。)

  • Goto(LabelTarget)

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

  • Goto(LabelTarget, Expression)

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

  • Goto(LabelTarget, Type)

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

  • Goto(LabelTarget, Expression, Type)

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

  • ExclusiveOrAssign(Expression, Expression, MethodInfo)

    通过对用户定义的类型使用op_ExclusiveOr,创建一个表示按位 XOR 赋值运算的BinaryExpression。

  • ExclusiveOrAssign(Expression, Expression, MethodInfo, LambdaExpression)

    通过对用户定义的类型使用op_ExclusiveOr,创建一个表示按位 XOR 赋值运算的BinaryExpression。

  • Field(Expression, FieldInfo)

    创建一个表示访问字段的MemberExpression。

  • Field(Expression, String)

    在给定字段名称的情况下,创建一个表示访问此字段的MemberExpression。

  • Field(Expression, Type, String)

    创建一个表示访问字段的MemberExpression。

  • Finalize

    允许Object 在“垃圾回收”回收Object 之前尝试释放资源并执行其他清理操作。(继承自Object。)

  • GreaterThan(Expression, Expression)

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

  • GreaterThan(Expression, Expression, Boolean, MethodInfo)

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

  • GreaterThanOrEqual(Expression, Expression)

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

  • GreaterThanOrEqual(Expression, Expression, Boolean, MethodInfo)

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

  • IfThen

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

  • IfThenElse

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

  • Increment(Expression)

    创建一个UnaryExpression,它表示按 1 递增表达式值。

  • Increment(Expression, MethodInfo)

    创建一个UnaryExpression,它表示按 1 递增表达式值。

  • Invoke(Expression, IEnumerable)

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

  • Invoke(Expression,Expression[])

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

  • IsFalse(Expression)

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

  • IsFalse(Expression, MethodInfo)

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

  • IsTrue(Expression)

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

  • IsTrue(Expression, MethodInfo)

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

  • Label()

    创建一个LabelTarget,它表示具有 void 类型但没有名称的标签。

  • Label(LabelTarget)

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

  • Label(String)

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

  • Label(Type)

    创建一个LabelTarget,它表示具有给定类型的标签。

  • Label(LabelTarget, Expression)

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

  • Label(Type, String)

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

  • Lambda(Expression, IEnumerable)

    通过先构造一个委托类型来创建一个 LambdaExpression。

  • Lambda(Expression,ParameterExpression[])

    通过先构造一个委托类型来创建一个LambdaExpression。

  • Lambda(Type, Expression, Boolean, IEnumerable)

    通过先构造一个委托类型来创建一个 LambdaExpression。

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

    通过先构造一个委托类型来创建一个 LambdaExpression。

  • Lambda(Expression, Boolean, IEnumerable)

    通过先构造一个委托类型来创建一个 LambdaExpression。

  • Lambda(Expression, Boolean,ParameterExpression[])

    通过先构造一个委托类型来创建一个 LambdaExpression。

  • Lambda(Expression, String, IEnumerable)

    通过先构造一个委托类型来创建一个 LambdaExpression。

  • Lambda(Type, Expression, IEnumerable)

    通过先构造一个委托类型来创建一个LambdaExpression。如果委托类型在编译时未知,则可以使用它。

  • Lambda(Type, Expression,ParameterExpression[])

    通过先构造一个委托类型来创建一个LambdaExpression。如果委托类型在编译时未知,则可以使用它。

  • Lambda(Expression, String, Boolean, IEnumerable)

    通过先构造一个委托类型来创建一个 LambdaExpression。

  • 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, IEnumerable)

    创建一个其成员为字段或属性的MemberListBinding。

  • ListBind(MemberInfo,ElementInit[])

    创建一个其成员为字段或属性的MemberListBinding。

  • ListBind(MethodInfo, IEnumerable)

    基于指定的属性访问器方法创建一个MemberListBinding。

  • ListBind(MethodInfo,ElementInit[])

    基于指定的属性访问器方法创建一个MemberListBinding 对象。

  • Lambda(Type, Expression, String, IEnumerable)

    通过先构造一个委托类型来创建一个 LambdaExpression。

  • Lambda(Type, Expression, String, Boolean, IEnumerable)

    通过先构造一个委托类型来创建一个 LambdaExpression。

  • Lambda(Expression, IEnumerable)

    创建一个在编译时委托类型已知的Expression<TDelegate>。

  • Lambda(Expression,ParameterExpression[])

    创建一个在编译时委托类型已知的Expression<TDelegate>。

  • Lambda(Expression, Boolean, IEnumerable)

    创建一个在编译时委托类型已知的Expression<TDelegate>。

  • Lambda(Expression, Boolean,ParameterExpression[])

    创建一个在编译时委托类型已知的Expression<TDelegate>。

  • Lambda(Expression, String, IEnumerable)

    创建一个在编译时委托类型已知的Expression<TDelegate>。

  • Lambda(Expression, String, Boolean, IEnumerable)

    创建一个在编译时委托类型已知的Expression<TDelegate>。

  • LeftShift(Expression, Expression)

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

  • LeftShift(Expression, Expression, MethodInfo)

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

  • LeftShiftAssign(Expression, Expression)

    创建一个表示按位左移赋值运算的BinaryExpression。

  • Loop(Expression, LabelTarget)

    创建具有给定主体和中断目标的LoopExpression。

  • Loop(Expression, LabelTarget, LabelTarget)

    创建具有给定主体的LoopExpression。

  • MakeBinary(ExpressionType, Expression, Expression)

    在给定左操作数和右操作数的情况下,通过调用适当的工厂方法来创建一个BinaryExpression。

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

    在给定左操作数、右操作数和实现方法的情况下,通过调用适当的工厂方法来创建一个BinaryExpression。

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

    在给定左操作数、右操作数、实现方法和类型转换函数的情况下,通过调用适当的工厂方法来创建一个BinaryExpression。

  • MakeCatchBlock

    创建一个表示具有指定元素的 catch 语句的CatchBlock。

  • MakeDynamic(Type, CallSiteBinder, IEnumerable)

    创建一个DynamicExpression,它表示由提供的CallSiteBinder 绑定的动态操作。

  • MakeDynamic(Type, CallSiteBinder, Expression)

    创建一个DynamicExpression,它表示由提供的CallSiteBinder 和一个参数绑定的动态操作。

  • MakeDynamic(Type, CallSiteBinder,Expression[])

    创建一个DynamicExpression,它表示由提供的CallSiteBinder 绑定的动态操作。

  • MakeDynamic(Type, CallSiteBinder, Expression, Expression)

    创建一个DynamicExpression,它表示由提供的CallSiteBinder 和两个参数绑定的动态操作。

  • ListInit(NewExpression, IEnumerable)

    创建一个使用指定ElementInit 对象来初始化集合的ListInitExpression。

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

    创建一个DynamicExpression,它表示由提供的CallSiteBinder 和三个参数绑定的动态操作。

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

    创建一个DynamicExpression,它表示由提供的CallSiteBinder 和四个参数绑定的动态操作。

  • ListInit(NewExpression, IEnumerable)

    创建一个使用名为“Add”的方法将元素添加到集合中的ListInitExpression。

  • ListInit(NewExpression,ElementInit[])

    创建一个使用指定ElementInit 对象来初始化集合的ListInitExpression。

  • ListInit(NewExpression,Expression[])

    创建一个使用名为“Add”的方法将元素添加到集合中的ListInitExpression。

  • ListInit(NewExpression, MethodInfo, IEnumerable)

    创建一个使用指定方法将元素添加到集合中的ListInitExpression。

  • ListInit(NewExpression, MethodInfo,Expression[])

    创建一个使用指定方法将元素添加到集合中的ListInitExpression。

  • Loop(Expression)

    创建具有给定主体的LoopExpression。

  • MemberBind(MethodInfo,MemberBinding[])

    使用属性访问器方法创建一个表示对所访问的成员的成员进行递归初始化的MemberMemberBinding。

  • MemberInit(NewExpression, IEnumerable)

    表示一个表达式,该表达式创建新对象并初始化该对象的一个属性。

  • 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。

  • MakeGoto

    创建一个GotoExpression,它表示指定的GotoExpressionKind 的跳转。也可以指定在跳转时传递给标签的值。

  • MakeIndex

    创建一个IndexExpression,它表示访问对象中的索引属性。

  • MakeMemberAccess

    创建一个表示访问字段或属性的MemberExpression。

  • MakeTry

    创建一个表示具有指定元素的 try 块的TryExpression。

  • MakeUnary(ExpressionType, Expression, Type)

    在给定操作数的情况下,通过调用适当的工厂方法来创建一个UnaryExpression。

  • MakeUnary(ExpressionType, Expression, Type, MethodInfo)

    在给定操作数和实现方法的情况下,通过调用适当的工厂方法来创建一个UnaryExpression。

  • MemberBind(MemberInfo, IEnumerable)

    创建一个表示递归初始化某个字段或属性的成员的MemberMemberBinding。

  • MemberBind(MemberInfo,MemberBinding[])

    创建一个表示递归初始化某个字段或属性的成员的MemberMemberBinding。

  • MemberBind(MethodInfo, IEnumerable)

    使用属性访问器方法创建一个表示对所访问的成员的成员进行递归初始化的MemberMemberBinding。

  • MultiplyAssign(Expression, Expression, MethodInfo, LambdaExpression)

    创建一个表示不进行溢出检查的乘法赋值运算的BinaryExpression。

  • MultiplyAssignChecked(Expression, Expression)

    创建一个表示进行溢出检查的乘法赋值运算的BinaryExpression。

  • Negate(Expression)

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

  • Negate(Expression, MethodInfo)

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

  • NegateChecked(Expression)

    创建一个表示进行溢出检查的算术求反运算的UnaryExpression。

  • NegateChecked(Expression, MethodInfo)

    创建一个表示进行溢出检查的算术求反运算的UnaryExpression。可指定实现方法。

  • New(ConstructorInfo)

    创建一个表示调用不带参数的指定构造函数的NewExpression。

  • New(Type)

    创建一个表示调用指定类型的无参数构造函数的NewExpression。

  • New(ConstructorInfo, IEnumerable)

    创建一个表示调用带指定参数的指定构造函数的NewExpression。

  • New(ConstructorInfo,Expression[])

    创建一个表示调用带指定参数的指定构造函数的NewExpression。

  • New(ConstructorInfo, IEnumerable, IEnumerable)

    创建一个表示调用带指定参数的指定构造函数的NewExpression。其中指定了访问构造函数初始化的字段的成员。

  • New(ConstructorInfo, IEnumerable,MemberInfo[])

    创建一个表示调用带指定参数的指定构造函数的NewExpression。将访问构造函数初始化字段的成员指定为数组。

  • NewArrayBounds(Type, IEnumerable)

    创建一个表示创建具有指定秩的数组的NewArrayExpression。

  • NewArrayBounds(Type,Expression[])

    创建一个表示创建具有指定秩的数组的NewArrayExpression。

  • NewArrayInit(Type, IEnumerable)

    创建一个表示创建一维数组并使用元素列表初始化该数组的NewArrayExpression。

  • MultiplyAssignChecked(Expression, Expression, MethodInfo)

    创建一个表示进行溢出检查的乘法赋值运算的BinaryExpression。

  • MultiplyAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)

    创建一个表示进行溢出检查的乘法赋值运算的BinaryExpression。

  • MultiplyChecked(Expression, Expression)

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

  • MultiplyChecked(Expression, Expression, MethodInfo)

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

  • OrAssign(Expression, Expression, MethodInfo, LambdaExpression)

    创建一个表示按位 OR 赋值运算的BinaryExpression。

  • OrElse(Expression, Expression)

    创建一个BinaryExpression,它表示仅在第一个操作数的计算结果为false 时才计算第二个操作数的条件OR 运算。

  • OrElse(Expression, Expression, MethodInfo)

    创建一个BinaryExpression,它表示仅在第一个操作数的计算结果为false 时才计算第二个操作数的条件OR 运算。

  • 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,它表示对表达式求幂并将结果赋回给表达式。

  • NewArrayInit(Type,Expression[])

    创建一个表示创建一维数组并使用元素列表初始化该数组的NewArrayExpression。

  • Not(Expression)

    创建一个表示按位求补运算的UnaryExpression。

  • Not(Expression, MethodInfo)

    创建一个表示按位求补运算的UnaryExpression。可指定实现方法。

  • NotEqual(Expression, Expression)

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

  • NotEqual(Expression, Expression, Boolean, MethodInfo)

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

  • OnesComplement(Expression)

    返回表示二进制反码的表达式。

  • OnesComplement(Expression, MethodInfo)

    返回表示二进制反码的表达式。

  • Or(Expression, Expression)

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

  • Or(Expression, Expression, MethodInfo)

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

  • OrAssign(Expression, Expression)

    创建一个表示按位 OR 赋值运算的BinaryExpression。

  • OrAssign(Expression, Expression, MethodInfo)

    创建一个表示按位 OR 赋值运算的BinaryExpression。

  • PowerAssign(Expression, Expression, MethodInfo, LambdaExpression)

    创建一个BinaryExpression,它表示对表达式求幂并将结果赋回给表达式。

  • PreIncrementAssign(Expression, MethodInfo)

    创建一个UnaryExpression,它将表达式递增 1 并将结果赋回给表达式。

  • Property(Expression, MethodInfo)

    使用属性访问器方法创建一个表示访问属性的MemberExpression。

  • Property(Expression, PropertyInfo)

    创建一个表示访问属性的MemberExpression。

  • Property(Expression, String)

    创建一个表示访问属性的MemberExpression。

  • Property(Expression, PropertyInfo, IEnumerable)

    创建一个IndexExpression,它表示对索引属性的访问。

  • Property(Expression, PropertyInfo,Expression[])

    创建一个IndexExpression,它表示对索引属性的访问。

  • Property(Expression, String,Expression[])

    创建一个IndexExpression,它表示对索引属性的访问。

  • Property(Expression, Type, String)

    创建一个访问属性的MemberExpression。

  • PropertyOrField

    创建一个表示访问属性或字段的MemberExpression。

  • Quote

    创建一个表示具有类型Expression 的常量值的表达式的UnaryExpression。

  • Reduce

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

  • ReduceAndCheck

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

  • ReduceExtensions

    将表达式简化为已知节点类型(即非 Extension 节点)或仅在此类型为已知类型时返回表达式。

  • ReferenceEqual

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

  • ReferenceNotEqual

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

  • Rethrow()

    创建一个UnaryExpression,它表示重新引发异常。

  • Rethrow(Type)

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

  • Return(LabelTarget)

    创建一个表示 return 语句的GotoExpression。

  • Return(LabelTarget, Expression)

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

  • Return(LabelTarget, Type)

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

  • Return(LabelTarget, Expression, Type)

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

  • PreDecrementAssign(Expression)

    创建一个UnaryExpression,它将表达式递减 1 并将结果赋回给表达式。

  • PreDecrementAssign(Expression, MethodInfo)

    创建一个UnaryExpression,它将表达式递减 1 并将结果赋回给表达式。

  • PreIncrementAssign(Expression)

    创建一个UnaryExpression,它将表达式递增 1 并将结果赋回给表达式。

  • RightShiftAssign(Expression, Expression, MethodInfo, LambdaExpression)

    创建一个表示按位右移赋值运算的BinaryExpression。

  • RuntimeVariables(IEnumerable)

    创建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,SwitchCase[])

    创建一个表示不带默认分支的switch 语句的SwitchExpression。

  • Switch(Expression, Expression,SwitchCase[])

    创建一个表示具有默认分支的switch 语句的SwitchExpression。

  • Switch(Expression, Expression, MethodInfo, IEnumerable)

    创建一个表示具有默认分支的switch 语句的SwitchExpression。

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

    创建一个表示具有默认分支的switch 语句的SwitchExpression。

  • Switch(Type, Expression, Expression, MethodInfo, IEnumerable)

    创建一个表示具有默认分支的switch 语句的SwitchExpression。

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

    创建一个表示具有默认分支的switch 语句的SwitchExpression。

  • RightShift(Expression, Expression)

    创建一个表示按位右移运算的BinaryExpression。

  • RightShift(Expression, Expression, MethodInfo)

    创建一个表示按位右移运算的BinaryExpression。

  • RightShiftAssign(Expression, Expression)

    创建一个表示按位右移赋值运算的BinaryExpression。

  • RightShiftAssign(Expression, Expression, MethodInfo)

    创建一个表示按位右移赋值运算的BinaryExpression。

  • SymbolDocument(String, Guid, Guid, Guid)

    创建SymbolDocumentInfo 的实例。

  • Throw(Expression)

    创建一个UnaryExpression,它表示引发异常。

  • Throw(Expression, Type)

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

  • ToString

    返回Expression 的文本化表示形式。(重写Object.ToString()。)

  • TryCatch

    创建一个表示 try 块的TryExpression,该 try 块包含任意数量的 catch 语句,但不包含 fault 和 finally 块。

  • TryCatchFinally

    创建一个表示 try 块的TryExpression,该 try 块包含任意数量的 catch 语句和一个 finally 块。

  • TryFault

    创建一个表示 try 块的TryExpression,该 try 块包含一个 fault 块,但不包含 catch 语句。

  • TryFinally

    创建一个表示 try 块的TryExpression,该 try 块包含一个 finally 块,但不包含 catch 语句。

  • TryGetActionType

    创建一个Type 对象,它表示具有特定类型参数的泛型 System.Action 委托类型。

  • TryGetFuncType

    创建一个Type 对象,它表示具有特定类型参数的泛型 System.Func 委托类型。最后一个类型参数指定已创建委托的返回类型。

  • TypeAs

    创建一个表示显式引用或装箱转换的UnaryExpression(如果转换失败,则提供null)。

  • TypeEqual

    创建一个比较运行时类型标识的TypeBinaryExpression。

  • TypeIs

    创建一个TypeBinaryExpression。

  • UnaryPlus(Expression)

    创建一个表示一元正运算的UnaryExpression。

  • UnaryPlus(Expression, MethodInfo)

    创建一个表示一元正运算的UnaryExpression。

  • Unbox

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

  • SwitchCase(Expression, IEnumerable)

    创建要在SwitchExpression 对象中使用的SwitchCase 对象。

  • SwitchCase(Expression,Expression[])

    创建在SwitchExpression 中使用的SwitchCase。

  • SymbolDocument(String)

    创建SymbolDocumentInfo 的实例。

  • SymbolDocument(String, Guid)

    创建SymbolDocumentInfo 的实例。

  • SymbolDocument(String, Guid, Guid)

    创建SymbolDocumentInfo 的实例。

  • Variable(Type)

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

  • Variable(Type, String)

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

  • VisitChildren

    简化节点,然后对简化的表达式调用访问者委托。该方法在节点不可简化时引发异常。

Expression的属性

  • CanReduce

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

  • NodeType

    获取此Expression 的节点类型。

  • Type

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