Expression.NegateChecked Metoda

Definice

Vytvoří UnaryExpression operaci aritmetické negace, která má kontrolu přetečení.

Přetížení

NegateChecked(Expression)

Vytvoří UnaryExpression operaci aritmetické negace, která má kontrolu přetečení.

NegateChecked(Expression, MethodInfo)

Vytvoří UnaryExpression operaci aritmetické negace, která má kontrolu přetečení. Je možné zadat metodu implementace.

NegateChecked(Expression)

Zdroj:
UnaryExpression.cs
Zdroj:
UnaryExpression.cs
Zdroj:
UnaryExpression.cs

Vytvoří UnaryExpression operaci aritmetické negace, která má kontrolu přetečení.

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

Parametry

expression
Expression

An Expression , která nastaví Operand vlastnost na hodnotu rovna.

Návraty

Vlastnost UnaryExpression má rovnou NodeTypeNegateChecked a Operand vlastnost nastavenou na zadanou hodnotu.

Výjimky

expression je null.

Unární operátor minus není definován pro expression. Typ.

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 je null.

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 nullimplementovaná 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

NegateChecked(Expression, MethodInfo)

Zdroj:
UnaryExpression.cs
Zdroj:
UnaryExpression.cs
Zdroj:
UnaryExpression.cs

Vytvoří UnaryExpression operaci aritmetické negace, která má kontrolu přetečení. Je možné zadat metodu implementace.

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

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 NegateChecked 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 ( staticShared 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 je null.

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 nullimplementovaná 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