Expression.NegateChecked Метод

Определение

Создает UnaryExpression, представляющий операцию арифметического отрицания, содержащую проверку переполнения.

Перегрузки

NegateChecked(Expression)

Создает UnaryExpression, представляющий операцию арифметического отрицания, содержащую проверку переполнения.

NegateChecked(Expression, MethodInfo)

Создает UnaryExpression, представляющий операцию арифметического отрицания, содержащую проверку переполнения. Может быть указан метод реализации.

NegateChecked(Expression)

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

Создает UnaryExpression, представляющий операцию арифметического отрицания, содержащую проверку переполнения.

public:
 static System::Linq::Expressions::UnaryExpression ^ NegateChecked(System::Linq::Expressions::Expression ^ expression);
public static System.Linq.Expressions.UnaryExpression NegateChecked (System.Linq.Expressions.Expression expression);
static member NegateChecked : System.Linq.Expressions.Expression -> System.Linq.Expressions.UnaryExpression
Public Shared Function NegateChecked (expression As Expression) As UnaryExpression

Параметры

expression
Expression

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

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

Выражение UnaryExpression со свойством NodeType, равным NegateChecked, и свойством Operand, для которого задано указанное значение.

Исключения

expression имеет значение null.

Унарный минус-оператор не определен для типа expression.Type.

Комментарии

Свойству Method результирующего UnaryExpression объекта присваивается реализующий метод . Свойству Type присваивается тип узла. Если узел снят, IsLifted свойства и IsLiftedToNull имеют значение true. В противном случае они будут ложными.

Реализация метода

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

  • Если expression. Тип — это определяемый пользователем тип, определяющий унарный оператор минус, MethodInfo представляющий этот оператор, является реализующим методом.

  • В противном случае , если expression. Тип является числовым типом, реализующий метод — null.

Тип узла, а также отменено и не отменено

Если реализующим методом не nullявляется :

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

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

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

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

Если реализующим методом является null, типом узла является expression. Тип. Если expression. Тип не допускает значения NULL, узел не отменяется. В противном случае узел будет снят.

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

NegateChecked(Expression, MethodInfo)

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

Создает UnaryExpression, представляющий операцию арифметического отрицания, содержащую проверку переполнения. Может быть указан метод реализации.

public:
 static System::Linq::Expressions::UnaryExpression ^ NegateChecked(System::Linq::Expressions::Expression ^ expression, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.UnaryExpression NegateChecked (System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.UnaryExpression NegateChecked (System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo? method);
static member NegateChecked : System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.UnaryExpression
Public Shared Function NegateChecked (expression As Expression, method As MethodInfo) As UnaryExpression

Параметры

expression
Expression

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

method
MethodInfo

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

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

Выражение UnaryExpression со свойствомNodeType, равным NegateChecked, и свойствами Operand и Method, для которых заданы указанные значения.

Исключения

expression имеет значение null.

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

method равно null, а унарный минус-оператор не определен для типа expression.Type.

-или-

Тип expression.Type (или соответствующий тип, не поддерживающий значение null, если он является типом, поддерживающим значение null) не назначается типу аргумента метода, представленного method.

Комментарии

Свойству Method результирующего UnaryExpression объекта присваивается реализующий метод . Свойству Type присваивается тип узла. Если узел снят, IsLifted свойства и IsLiftedToNull имеют значение true. В противном случае они будут ложными.

Реализация метода

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

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

  • Если expression. Тип — это определяемый пользователем тип, определяющий унарный оператор минус, MethodInfo представляющий этот оператор, является реализующим методом.

  • В противном случае , если expression. Тип является числовым типом, реализующий метод — null.

Тип узла, а также отменено и не отменено

Если реализующим методом не nullявляется :

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

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

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

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

Если реализующим методом является null, типом узла является expression. Тип. Если expression. Тип не допускает значения NULL, узел не отменяется. В противном случае узел будет снят.

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