Expression.NegateChecked Metodo

Definizione

Crea un oggetto UnaryExpression che rappresenta un'operazione di negazione aritmetica che ha il controllo dell'overflow.

Overload

NegateChecked(Expression)

Crea un oggetto UnaryExpression che rappresenta un'operazione di negazione aritmetica che ha il controllo dell'overflow.

NegateChecked(Expression, MethodInfo)

Crea un oggetto UnaryExpression che rappresenta un'operazione di negazione aritmetica che ha il controllo dell'overflow. Il metodo di implementazione può essere specificato.

NegateChecked(Expression)

Origine:
UnaryExpression.cs
Origine:
UnaryExpression.cs
Origine:
UnaryExpression.cs

Crea un oggetto UnaryExpression che rappresenta un'operazione di negazione aritmetica che ha il controllo dell'overflow.

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

Parametri

expression
Expression

Oggetto Expression su cui impostare la proprietà Operand.

Restituisce

Oggetto UnaryExpression la cui proprietà NodeType è uguale a NegateChecked e la cui proprietà Operand è impostata sul valore specificato.

Eccezioni

expression è null.

L'operatore meno unario non è definito per expression.Type.

Commenti

La Method proprietà dell'oggetto risultante UnaryExpression viene impostata sul metodo di implementazione. La Type proprietà è impostata sul tipo del nodo. Se il nodo viene sollevato, le IsLifted proprietà e IsLiftedToNull sono entrambe true. In caso contrario, sono false.

Metodo di implementazione

Le regole seguenti determinano il metodo di implementazione per l'operazione:

  • Se expression. Il tipo è un tipo definito dall'utente che definisce l'operatore meno unario, MethodInfo che rappresenta tale operatore è il metodo di implementazione.

  • In caso contrario, se expression. Il tipo è un tipo numerico, il metodo di implementazione è null.

Tipo di nodo e lifting rispetto a non lifted

Se il metodo di implementazione non nullè :

  • Se expression. Il tipo è assegnabile al tipo di argomento del metodo di implementazione, il nodo non viene sollevato. Il tipo del nodo è il tipo restituito del metodo di implementazione.

  • Se vengono soddisfatte le due condizioni seguenti, il nodo viene sollevato e il tipo del nodo è il tipo nullable che corrisponde al tipo restituito del metodo di implementazione:

    • expression. Il tipo è un tipo valore nullable e il tipo di valore non nullable corrispondente è uguale al tipo di argomento del metodo di implementazione.

    • Il tipo restituito del metodo di implementazione è un tipo valore non nullable.

Se il metodo di implementazione è null, il tipo del nodo è expression. Digitare. Se expression. Il tipo non è nullable, il nodo non viene sollevato. In caso contrario, il nodo viene sollevato.

Si applica a

NegateChecked(Expression, MethodInfo)

Origine:
UnaryExpression.cs
Origine:
UnaryExpression.cs
Origine:
UnaryExpression.cs

Crea un oggetto UnaryExpression che rappresenta un'operazione di negazione aritmetica che ha il controllo dell'overflow. Il metodo di implementazione può essere specificato.

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

Parametri

expression
Expression

Oggetto Expression su cui impostare la proprietà Operand.

method
MethodInfo

Oggetto MethodInfo su cui impostare la proprietà Method.

Restituisce

Oggetto UnaryExpression la cui proprietà NodeType è uguale a NegateChecked e le cui proprietà Operand e Method sono impostate sui valori specificati.

Eccezioni

expression è null.

method non è null e il metodo che rappresenta restituisce void, non è static (Shared in Visual Basic) o non accetta esattamente un argomento.

method è null e l'operatore meno unario non è definito per expression.Type.

-oppure-

expression.Type , o il tipo non nullable corrispondente se si tratta di un tipo nullable, non è assegnabile al tipo di argomento del metodo rappresentato da method.

Commenti

La Method proprietà dell'oggetto risultante UnaryExpression viene impostata sul metodo di implementazione. La Type proprietà è impostata sul tipo del nodo. Se il nodo viene sollevato, le IsLifted proprietà e IsLiftedToNull sono entrambe true. In caso contrario, sono false.

Metodo di implementazione

Le regole seguenti determinano il metodo di implementazione per l'operazione:

  • Se method non null è e rappresenta un metodo non void, static (Shared in Visual Basic) che accetta un argomento, è il metodo di implementazione per il nodo.

  • Se expression. Il tipo è un tipo definito dall'utente che definisce l'operatore meno unario, MethodInfo che rappresenta tale operatore è il metodo di implementazione.

  • In caso contrario, se expression. Il tipo è un tipo numerico, il metodo di implementazione è null.

Tipo di nodo e lifting rispetto a non lifted

Se il metodo di implementazione non nullè :

  • Se expression. Il tipo è assegnabile al tipo di argomento del metodo di implementazione, il nodo non viene sollevato. Il tipo del nodo è il tipo restituito del metodo di implementazione.

  • Se vengono soddisfatte le due condizioni seguenti, il nodo viene sollevato e il tipo del nodo è il tipo nullable che corrisponde al tipo restituito del metodo di implementazione:

    • expression. Il tipo è un tipo valore nullable e il tipo di valore non nullable corrispondente è uguale al tipo di argomento del metodo di implementazione.

    • Il tipo restituito del metodo di implementazione è un tipo valore non nullable.

Se il metodo di implementazione è null, il tipo del nodo è expression. Digitare. Se expression. Il tipo non è nullable, il nodo non viene sollevato. In caso contrario, il nodo viene sollevato.

Si applica a