Expression.Negate Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает арифметическую UnaryExpression операцию отрицания.
Перегрузки
| Имя | Описание |
|---|---|
| Negate(Expression, MethodInfo) |
Создает арифметическую UnaryExpression операцию отрицания. |
| Negate(Expression) |
Создает арифметическую UnaryExpression операцию отрицания. |
Negate(Expression, MethodInfo)
- Исходный код:
- UnaryExpression.cs
- Исходный код:
- UnaryExpression.cs
- Исходный код:
- UnaryExpression.cs
- Исходный код:
- UnaryExpression.cs
- Исходный код:
- UnaryExpression.cs
Создает арифметическую UnaryExpression операцию отрицания.
public:
static System::Linq::Expressions::UnaryExpression ^ Negate(System::Linq::Expressions::Expression ^ expression, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.UnaryExpression Negate(System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.UnaryExpression Negate(System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo? method);
static member Negate : System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.UnaryExpression
Public Shared Function Negate (expression As Expression, method As MethodInfo) As UnaryExpression
Параметры
- expression
- Expression
Значение Expression , равное свойству Operand .
- method
- MethodInfo
Значение, MethodInfo равное свойству Method .
Возвращаемое значение
Значение UnaryExpression , равное свойству NodeTypeNegate и OperandMethod свойствам, заданным указанным значениям.
Исключения
expression равно null.
method не null является и метод, который он представляет возвращаемого значения void, не static является (Shared в Visual Basic) или не принимает ровно один аргумент.
method is null и унарный оператор минуса не определен для expression. Тип.
–или–
expression. Тип (или соответствующий ненулевой тип, если он является типом значений, допускаемым значением NULL), не может быть назначен типу аргумента метода, представленного method.
Комментарии
Свойство Method результирующего UnaryExpression объекта имеет значение реализующего метода. Свойство Type устанавливается в соответствии с типом узла. Если узел поднят, IsLifted и IsLiftedToNull свойства оба true. В противном случае они являются ложными.
Реализация метода
Следующие правила определяют метод реализации для операции:
Если
methodэто неnullтак,staticи он представляет непустый метод (Sharedв Visual Basic), который принимает один аргумент, это метод реализации для узла.If
expression. Тип — это определяемый пользователем тип, определяющий унарный оператор минуса, MethodInfo который представляет этот оператор является методом реализации.В противном случае , если
expression. Тип является числовым типом, реализуетсяnullметод.
Тип узла и снятый и не поднимаемый
Если метод реализации не null :
If
expression. Тип можно назначить типу аргумента метода реализации, узел не поднимается. Тип узла — это возвращаемый тип метода реализации.Если выполнены следующие два условия, узел поднимается, а тип узла — это тип, допускающий значение NULL, соответствующий возвращаемому типу метода реализации:
expression. Тип является типом значения, допускающим значение NULL, и соответствующий тип значения, не допускающего значения NULL, равен типу аргумента метода реализации.Возвращаемый тип метода реализации — это ненулевой тип значения.
Если метод реализации имеет тип nullузла expression. Тип. If expression. Тип не допускает значение NULL, узел не поднимается. В противном случае узел поднимается.
Применяется к
Negate(Expression)
- Исходный код:
- UnaryExpression.cs
- Исходный код:
- UnaryExpression.cs
- Исходный код:
- UnaryExpression.cs
- Исходный код:
- UnaryExpression.cs
- Исходный код:
- UnaryExpression.cs
Создает арифметическую UnaryExpression операцию отрицания.
public:
static System::Linq::Expressions::UnaryExpression ^ Negate(System::Linq::Expressions::Expression ^ expression);
public static System.Linq.Expressions.UnaryExpression Negate(System.Linq.Expressions.Expression expression);
static member Negate : System.Linq.Expressions.Expression -> System.Linq.Expressions.UnaryExpression
Public Shared Function Negate (expression As Expression) As UnaryExpression
Параметры
- expression
- Expression
Значение Expression , равное свойству Operand .
Возвращаемое значение
Значение UnaryExpression , равное NodeType свойству Negate и Operand свойству, заданному указанному значению.
Исключения
expression равно null.
Унарный оператор минус не определен для expression. Тип.
Примеры
В следующем примере показано, как создать выражение, представляющее арифметическую операцию отрицания.
// Add the following directive to your file:
// using System.Linq.Expressions;
// This expression represents a negation operation.
Expression negateExpr = Expression.Negate(Expression.Constant(5));
// The following statement first creates an expression tree,
// then compiles it, and then runs it.
Console.WriteLine(Expression.Lambda<Func<int>>(negateExpr).Compile()());
// This code example produces the following output:
//
// -5
' Add the following directive to your file:
' Imports System.Linq.Expressions
' This expression represents a negation operation.
Dim negateExpr As Expression = Expression.Negate(Expression.Constant(5))
' The following statement first creates an expression tree,
' then compiles it, and then runs it.
Console.WriteLine(Expression.Lambda(Of Func(Of Integer))(negateExpr).Compile()())
' This code example produces the following output:
'
' -5
Комментарии
Свойство Method результирующего UnaryExpression объекта имеет значение реализующего метода. Свойство Type устанавливается в соответствии с типом узла. Если узел поднят, IsLifted и IsLiftedToNull свойства оба true. В противном случае они являются ложными.
Реализация метода
Следующие правила определяют метод реализации для операции:
If
expression. Тип — это определяемый пользователем тип, определяющий унарный оператор минуса, MethodInfo который представляет этот оператор является методом реализации.В противном случае , если
expression. Тип является числовым типом, реализуетсяnullметод.
Тип узла и снятый и не поднимаемый
Если метод реализации не null :
If
expression. Тип можно назначить типу аргумента метода реализации, узел не поднимается. Тип узла — это возвращаемый тип метода реализации.Если выполнены следующие два условия, узел поднимается, а тип узла — это тип, допускающий значение NULL, соответствующий возвращаемому типу метода реализации:
expression. Тип является типом значения, допускающим значение NULL, и соответствующий тип значения, не допускающего значения NULL, равен типу аргумента метода реализации.Возвращаемый тип метода реализации — это ненулевой тип значения.
Если метод реализации имеет тип nullузла expression. Тип. If expression. Тип не допускает значение NULL, узел не поднимается. В противном случае узел поднимается.