Expression.NegateChecked Метод
В этой статье
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает UnaryExpression, представляющий операцию арифметического отрицания, содержащую проверку переполнения.
NegateChecked(Expression) |
Создает UnaryExpression, представляющий операцию арифметического отрицания, содержащую проверку переполнения. |
NegateChecked(Expression, MethodInfo) |
Создает UnaryExpression, представляющий операцию арифметического отрицания, содержащую проверку переполнения. Может быть указан метод реализации. |
- Исходный код:
- 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, узел не отменяется. В противном случае узел будет снят.
Применяется к
.NET 9 и другие версии
Продукт | Версии |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
- Исходный код:
- 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, узел не отменяется. В противном случае узел будет снят.
Применяется к
.NET 9 и другие версии
Продукт | Версии |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |