Expression.Negate Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří operaci UnaryExpression aritmetické negace.
Přetížení
Negate(Expression, MethodInfo) |
Vytvoří operaci UnaryExpression aritmetické negace. |
Negate(Expression) |
Vytvoří operaci UnaryExpression aritmetické negace. |
Negate(Expression, MethodInfo)
- Zdroj:
- UnaryExpression.cs
- Zdroj:
- UnaryExpression.cs
- Zdroj:
- UnaryExpression.cs
Vytvoří operaci UnaryExpression aritmetické negace.
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
Parametry
- expression
- Expression
An Expression , která nastaví Operand vlastnost na hodnotu rovna.
- method
- MethodInfo
A MethodInfo , aby se vlastnost nastavil Method na hodnotu rovna.
Návraty
Vlastnost UnaryExpression a, která má NodeType vlastnost rovna Negate a Operand vlastnosti a Method nastavené na zadané hodnoty.
Výjimky
expression
je null
.
method
není null
a metoda, která představuje, vrátí void
, není static
(Shared
v jazyce Visual Basic) nebo nepřebírají přesně jeden argument.
method
je null
a unární operátor minus není definován pro expression
. Typ.
-nebo-
expression
. Typ (nebo jeho odpovídající typ s možnou hodnotou null, pokud se jedná o typ hodnoty s možnou hodnotou null) není možné přiřadit k typu argumentu metody reprezentované hodnotou method
.
Poznámky
Vlastnost Method výsledné UnaryExpression je nastavena na implementovací metodu. Vlastnost Type je nastavena na typ uzlu. Pokud je uzel zvednutí, IsLifted vlastnosti a IsLiftedToNull jsou .true
V opačném případě jsou nepravdivé.
Implementace metody
Následující pravidla určují metodu implementace operace:
Pokud
method
nenínull
a představuje metodu bez void (static
Shared
v jazyce Visual Basic), která přijímá jeden argument, je to metoda implementace pro uzel.Pokud
expression
. Typ je uživatelem definovaný typ, který definuje unární operátor minus, MethodInfo který představuje tento operátor je implementovaná metoda.V opačném případě platí, že pokud
expression
. Typ je číselný typ, implementovaná metoda jenull
.
Typ uzlu a zrušeno vs. nezrušeno
Pokud implementovaná metoda není null
:
Pokud
expression
. Typ je možné přiřadit k typu argumentu implementované metody, uzel není zvednut. Typ uzlu je návratový typ implementační metody.Pokud jsou splněny následující dvě podmínky, uzel se zruší a typ uzlu je typ s možnou hodnotou null, který odpovídá návratovému typu implementační metody:
expression
. Typ je typ hodnoty s možnou hodnotou null a odpovídající typ hodnoty, který nemá hodnotu null, se rovná typu argumentu implementované metody.Návratový typ implementační metody je typ hodnoty s možnou hodnotou null.
Pokud je null
implementovaná metoda , typ uzlu je expression
. Typ. Pokud expression
. Typ nemá hodnotu null, uzel není zvednut. V opačném případě se uzel zruší.
Platí pro
Negate(Expression)
- Zdroj:
- UnaryExpression.cs
- Zdroj:
- UnaryExpression.cs
- Zdroj:
- UnaryExpression.cs
Vytvoří operaci UnaryExpression aritmetické negace.
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
Parametry
- expression
- Expression
An Expression , která nastaví Operand vlastnost na hodnotu rovna.
Návraty
Vlastnost UnaryExpression má rovnou NodeTypeNegate a Operand vlastnost nastavenou na zadanou hodnotu.
Výjimky
expression
je null
.
Unární operátor minus není definován pro expression
. Typ.
Příklady
Následující příklad ukazuje, jak vytvořit výraz, který představuje aritmetickou operaci negace.
// 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
Poznámky
Vlastnost Method výsledné UnaryExpression je nastavena na implementovací metodu. Vlastnost Type je nastavena na typ uzlu. Pokud je uzel zvednutí, IsLifted vlastnosti a IsLiftedToNull jsou .true
V opačném případě jsou nepravdivé.
Implementace metody
Následující pravidla určují metodu implementace operace:
Pokud
expression
. Typ je uživatelem definovaný typ, který definuje unární operátor minus, MethodInfo který představuje tento operátor je implementovaná metoda.V opačném případě platí, že pokud
expression
. Typ je číselný typ, implementovaná metoda jenull
.
Typ uzlu a zrušeno vs. nezrušeno
Pokud implementovaná metoda není null
:
Pokud
expression
. Typ je možné přiřadit k typu argumentu implementované metody, uzel není zvednut. Typ uzlu je návratový typ implementační metody.Pokud jsou splněny následující dvě podmínky, uzel se zruší a typ uzlu je typ s možnou hodnotou null, který odpovídá návratovému typu implementační metody:
expression
. Typ je typ hodnoty s možnou hodnotou null a odpovídající typ hodnoty, který nemá hodnotu null, se rovná typu argumentu implementované metody.Návratový typ implementační metody je typ hodnoty s možnou hodnotou null.
Pokud je null
implementovaná metoda , typ uzlu je expression
. Typ. Pokud expression
. Typ nemá hodnotu null, uzel není zvednut. V opačném případě se uzel zruší.