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 (static
Shared
в Visual Basic), который принимает один аргумент, он является реализующим методом для узла.Если
expression
. Тип — это определяемый пользователем тип, определяющий унарный оператор минус, MethodInfo представляющий этот оператор, является реализующим методом.В противном случае , если
expression
. Тип является числовым типом, реализующий метод —null
.
Тип узла, а также отменено и не отменено
Если реализующим методом не null
является :
Если
expression
. Тип можно назначить типу аргумента реализующего метода, узел не отменяется. Тип узла является типом возвращаемого значения реализующего метода.Если выполняются следующие два условия, узел приподнимается, а тип узла является типом, допускающим значение NULL, который соответствует типу возвращаемого значения реализующего метода:
expression
. Тип является типом значения, допускающим значение NULL, и соответствующий тип значения, не допускающий значение NULL, равен типу аргумента реализующего метода.Тип возвращаемого значения реализующего метода является типом значения, не допускающим значения NULL.
Если реализующим методом является null
, типом узла является expression
. Тип. Если expression
. Тип не допускает значения NULL, узел не отменяется. В противном случае узел будет снят.