Expression.Power Метод

Определение

Создает объект BinaryExpression, представляющий возведение числа в степень.

Перегрузки

Power(Expression, Expression)

Создает объект BinaryExpression, представляющий возведение числа в степень.

Power(Expression, Expression, MethodInfo)

Создает объект BinaryExpression, представляющий возведение числа в степень.

Power(Expression, Expression)

Исходный код:
BinaryExpression.cs
Исходный код:
BinaryExpression.cs
Исходный код:
BinaryExpression.cs

Создает объект BinaryExpression, представляющий возведение числа в степень.

public static System.Linq.Expressions.BinaryExpression Power (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right);

Параметры

left
Expression

Объект Expression, который следует задать в качестве значения свойства Left.

right
Expression

Объект Expression, который следует задать в качестве значения свойства Right.

Возвращаемое значение

Выражение BinaryExpression со свойствомNodeType, равным Power, и свойствами Left и Right, для которых заданы указанные значения.

Исключения

Параметр left или right имеет значение null.

Оператор потенцирования не определен для типов left.Type и right.Type.

-или-

left.Type и (или) right.Type не имеют значение Double.

Комментарии

Результирующее BinaryExpression свойство имеет Method значение реализующий метод. Свойству Type присваивается тип узла. Если узел приподнят, IsLifted свойства и IsLiftedToNull имеют значение true. В противном случае они имеют значение false. Значение свойства Conversionnull.

В следующих сведениях описывается реализующий метод, тип узла и возможность подъема узла.

Метод реализации

Следующие правила определяют метод реализации операции:

  • Type Если свойство или leftright представляет определяемый пользователем тип, который перегружает оператор экспоненциации, то объект , MethodInfo представляющий этот метод, является методом реализации.

  • В противном случае , если left. Введите и right. Типом являются оба Double, реализующим методом является Pow.

Тип узла, а также тип невозвыводимый и невозвыводимый

  • Если left. Введите и right. Тип можно назначить соответствующим типам аргументов реализующего метода, узел не поднимается. Тип узла является типом возвращаемого значения реализующего метода.

  • Если выполняются следующие два условия, узел поднимается, а тип узла является типом, допускающим значение NULL, который соответствует типу возвращаемого значения реализующего метода:

    • left. Введите и right. Тип — это оба типа значений, по крайней мере один из которых допускает значение NULL, а соответствующие типы, не допускающие значения NULL, равны соответствующим типам аргументов реализующего метода.

    • Тип возвращаемого значения реализующего метода является типом значения, не допускающим значение NULL.

Применяется к

Power(Expression, Expression, MethodInfo)

Исходный код:
BinaryExpression.cs
Исходный код:
BinaryExpression.cs
Исходный код:
BinaryExpression.cs

Создает объект 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);

Параметры

left
Expression

Объект Expression, который следует задать в качестве значения свойства Left.

right
Expression

Объект Expression, который следует задать в качестве значения свойства Right.

method
MethodInfo

Объект MethodInfo, который следует задать в качестве значения свойства Method.

Возвращаемое значение

Выражение BinaryExpression со свойством NodeType, равным Power, и свойствами Left, Right и Method, для которых заданы указанные значения.

Исключения

Параметр left или right имеет значение null.

method не имеет значение null, и метод, который он представляет, возвращает void, а не static (Shared в Visual Basic), или не принимает ровно два аргумента.

method — null, и оператор возведения в степень не определен для left.Type и right.Type.

-или-

method имеет значение null, и left.Type и (или) right.Type не имеют значение Double.

Комментарии

Результирующее BinaryExpression свойство имеет Method значение реализующий метод. Свойству Type присваивается тип узла. Если узел приподнят, IsLifted свойства и IsLiftedToNull имеют значение true. В противном случае они имеют значение false. Значение свойства Conversionnull.

В следующих сведениях описывается реализующий метод, тип узла и возможность подъема узла.

Метод реализации

Следующие правила определяют метод реализации операции:

  • Если method параметр не null имеет и представляет метод non-void ( staticShared в Visual Basic), который принимает два аргумента, это реализующий метод.

  • В противном случае, если Type свойство или leftright представляет определяемый пользователем тип, который перегружает оператор экспоненциации, объект , MethodInfo представляющий этот метод, является методом реализации.

  • В противном случае , если left. Введите и right. Типом являются оба Double, реализующим методом является Pow.

Тип узла, а также тип невозвыводимый и невозвыводимый

  • Если left. Введите и right. Тип можно назначить соответствующим типам аргументов реализующего метода, узел не поднимается. Тип узла является типом возвращаемого значения реализующего метода.

  • Если выполняются следующие два условия, узел поднимается, а тип узла является типом, допускающим значение NULL, который соответствует типу возвращаемого значения реализующего метода:

    • left. Введите и right. Тип — это оба типа значений, по крайней мере один из которых допускает значение NULL, а соответствующие типы, не допускающие значения NULL, равны соответствующим типам аргументов реализующего метода.

    • Тип возвращаемого значения реализующего метода является типом значения, не допускающим значение NULL.

Применяется к