Expression.NegateChecked Metod

Definition

Skapar en UnaryExpression som representerar en aritmisk negation som har spillkontroll.

Överlagringar

Name Description
NegateChecked(Expression)

Skapar en UnaryExpression som representerar en aritmisk negation som har spillkontroll.

NegateChecked(Expression, MethodInfo)

Skapar en UnaryExpression som representerar en aritmisk negation som har spillkontroll. Implementeringsmetoden kan anges.

NegateChecked(Expression)

Skapar en UnaryExpression som representerar en aritmisk negation som har spillkontroll.

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

Parametrar

expression
Expression

En Expression som egenskapen Operand ska vara lika med.

Returer

En UnaryExpression som har egenskapen NodeType lika med NegateChecked och egenskapen Operand inställd på det angivna värdet.

Undantag

expression är null.

Unary minus-operatorn har inte definierats för expression. Typ.

Kommentarer

Egenskapen Method för resultatet UnaryExpression är inställd på implementeringsmetoden. Egenskapen Type är inställd på nodens typ. Om noden lyfts är både IsLifted och IsLiftedToNull egenskaperna true. Annars är de falska.

Implementeringsmetod

Följande regler avgör implementeringsmetoden för åtgärden:

  • Om expression. Typ är en användardefinierad typ som definierar den unary minus-operatorn, som representerar den MethodInfo operatorn är implementeringsmetoden.

  • Annars, om expression. Typen är en numerisk typ, implementeringsmetoden är null.

Nodtyp och lyft jämfört med icke-lyft

Om implementeringsmetoden inte nullär :

  • Om expression. Typen kan tilldelas till argumenttypen för implementeringsmetoden, noden lyfts inte. Nodens typ är returtypen för implementeringsmetoden.

  • Om följande två villkor uppfylls lyfts noden och nodens typ är den null-typ som motsvarar implementeringsmetodens returtyp:

    • expression. Typen är en nullbar värdetyp och motsvarande värdetyp som inte kan nullvärde är lika med argumenttypen för implementeringsmetoden.

    • Returtypen för implementeringsmetoden är en värdetyp som inte kan ogiltigförklaras.

Om implementeringsmetoden är nullär expressionnodens typ . Typ. Om expression. Typen kan inte vara null, noden lyfts inte. Annars lyfts noden.

Gäller för

NegateChecked(Expression, MethodInfo)

Skapar en UnaryExpression som representerar en aritmisk negation som har spillkontroll. Implementeringsmetoden kan anges.

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

Parametrar

expression
Expression

En Expression som egenskapen Operand ska vara lika med.

method
MethodInfo

A MethodInfo för att ange egenskapen Method lika med.

Returer

En UnaryExpression som har egenskapen NodeType lika med NegateChecked och Operand egenskaperna och Method inställda på de angivna värdena.

Undantag

expression är null.

method är inte null och metoden den representerar returnerar void, är inte static (Shared i Visual Basic), eller tar inte exakt ett argument.

method är null och operatorn unary minus har inte definierats för expression. Typ.

-eller-

expression. Typen (eller motsvarande icke-nullbar typ om den är en nullbar värdetyp) kan inte tilldelas till argumenttypen för metoden som representeras av method.

Kommentarer

Egenskapen Method för resultatet UnaryExpression är inställd på implementeringsmetoden. Egenskapen Type är inställd på nodens typ. Om noden lyfts är både IsLifted och IsLiftedToNull egenskaperna true. Annars är de falska.

Implementeringsmetod

Följande regler avgör implementeringsmetoden för åtgärden:

  • Om method inte är null och den representerar en icke-void- static-metod (Shared i Visual Basic) som tar ett argument, är det implementeringsmetoden för noden.

  • Om expression. Typ är en användardefinierad typ som definierar den unary minus-operatorn, som representerar den MethodInfo operatorn är implementeringsmetoden.

  • Annars, om expression. Typen är en numerisk typ, implementeringsmetoden är null.

Nodtyp och lyft jämfört med icke-lyft

Om implementeringsmetoden inte nullär :

  • Om expression. Typen kan tilldelas till argumenttypen för implementeringsmetoden, noden lyfts inte. Nodens typ är returtypen för implementeringsmetoden.

  • Om följande två villkor uppfylls lyfts noden och nodens typ är den null-typ som motsvarar implementeringsmetodens returtyp:

    • expression. Typen är en nullbar värdetyp och motsvarande värdetyp som inte kan nullvärde är lika med argumenttypen för implementeringsmetoden.

    • Returtypen för implementeringsmetoden är en värdetyp som inte kan ogiltigförklaras.

Om implementeringsmetoden är nullär expressionnodens typ . Typ. Om expression. Typen kan inte vara null, noden lyfts inte. Annars lyfts noden.

Gäller för