Expression.NegateChecked Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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 ärnull.
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
methodinte ärnulloch den representerar en icke-void-static-metod (Sharedi 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 ärnull.
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.