Expression.Power 方法

定义

创建一个表示对数进行幂运算的 BinaryExpression

重载

Power(Expression, Expression)

创建一个表示对数进行幂运算的 BinaryExpression

Power(Expression, Expression, MethodInfo)

创建一个表示对数进行幂运算的 BinaryExpression

Power(Expression, Expression)

创建一个表示对数进行幂运算的 BinaryExpression

public:
 static System::Linq::Expressions::BinaryExpression ^ Power(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right);
public static System.Linq.Expressions.BinaryExpression Power (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right);
static member Power : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.BinaryExpression
Public Shared Function Power (left As Expression, right As Expression) As BinaryExpression

参数

left
Expression

要将 Expression 属性设置为与其相等的 Left

right
Expression

要将 Expression 属性设置为与其相等的 Right

返回

一个 BinaryExpression,其 NodeType 属性等于 Power,并且其 LeftRight 属性设置为指定值。

例外

leftrightnull

没有为 left.Type 和 right.Type 定义幂运算符。

- 或 -

left.Type 和/或 right.Type 不为 Double

注解

生成的 BinaryExpressionMethod 属性设置为实现方法。 属性 Type 设置为节点的类型。 如果提升节点,则 IsLiftedIsLiftedToNull 属性都是 true。 否则,它们是 falseConversion 属性为 null

以下信息介绍了实现方法、节点类型以及节点是否提升。

实现方法

以下规则确定操作的实现方法:

  • Type如果 或 rightleft 属性表示重载指数运算符的用户定义类型,MethodInfo则表示该方法的 是实现方法。

  • 否则为 (如果 left为 )。键入 和 right。类型都是 Double,实现方法是 Pow

节点类型和提升与非提升

  • 如果 left为 。键入 和 right。类型可分配给实现方法的相应参数类型,节点不会提升。 节点的类型是实现方法的返回类型。

  • 如果满足以下两个条件,则会提升节点,并且节点的类型是对应于实现方法的返回类型为 null 的类型:

    • left.键入 和 right。类型是值类型,其中至少有一种可为 null,相应的不可为 null 类型等于实现方法的相应参数类型。

    • 实现方法的返回类型是不可为 null 的值类型。

适用于

Power(Expression, Expression, MethodInfo)

创建一个表示对数进行幂运算的 BinaryExpression

public:
 static System::Linq::Expressions::BinaryExpression ^ Power(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.BinaryExpression Power (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.BinaryExpression Power (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo? method);
static member Power : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.BinaryExpression
Public Shared Function Power (left As Expression, right As Expression, method As MethodInfo) As BinaryExpression

参数

left
Expression

要将 Expression 属性设置为与其相等的 Left

right
Expression

要将 Expression 属性设置为与其相等的 Right

method
MethodInfo

要将 MethodInfo 属性设置为与其相等的 Method

返回

一个 BinaryExpression,其 NodeType 属性等于 Power,并且其 LeftRightMethod 属性设置为指定值。

例外

leftrightnull

method 不是 null,它所表示的方法返回 void,而不是 static(Visual Basic 中为 Shared),或者并非采用两个参数。

methodnull,且没有为 left.Type 和 right.Type 定义幂运算符。

- 或 -

methodnull,且 left.Type 和/或 right.Type 不是 Double

注解

生成的 BinaryExpressionMethod 属性设置为实现方法。 属性 Type 设置为节点的类型。 如果提升节点,则 IsLiftedIsLiftedToNull 属性都是 true。 否则,它们是 falseConversion 属性为 null

以下信息介绍了实现方法、节点类型以及节点是否提升。

实现方法

以下规则确定操作的实现方法:

  • 如果 method 不是 null ,并且它表示非 void, static (Shared 在 Visual Basic) 方法中采用两个参数,则为实现方法。

  • 否则,如果 Typerightleft 属性表示重载指数运算符的用户定义类型,MethodInfo则表示该方法的 是实现方法。

  • 否则为 (如果 left为 )。键入 和 right。类型都是 Double,实现方法是 Pow

节点类型和提升与非提升

  • 如果 left为 。键入 和 right。类型可分配给实现方法的相应参数类型,节点不会提升。 节点的类型是实现方法的返回类型。

  • 如果满足以下两个条件,则会提升节点,并且节点的类型是对应于实现方法的返回类型为 null 的类型:

    • left.键入 和 right。类型是值类型,其中至少有一种可为 null,相应的不可为 null 类型等于实现方法的相应参数类型。

    • 实现方法的返回类型是不可为 null 的值类型。

适用于