Compartir a través de


Expression.NegateChecked Método

Definición

Crea un UnaryExpression objeto que representa una operación de negación aritmética que tiene comprobación de desbordamiento.

Sobrecargas

Nombre Description
NegateChecked(Expression)

Crea un UnaryExpression objeto que representa una operación de negación aritmética que tiene comprobación de desbordamiento.

NegateChecked(Expression, MethodInfo)

Crea un UnaryExpression objeto que representa una operación de negación aritmética que tiene comprobación de desbordamiento. Se puede especificar el método de implementación.

NegateChecked(Expression)

Source:
UnaryExpression.cs
Source:
UnaryExpression.cs
Source:
UnaryExpression.cs
Source:
UnaryExpression.cs
Source:
UnaryExpression.cs

Crea un UnaryExpression objeto que representa una operación de negación aritmética que tiene comprobación de desbordamiento.

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

Parámetros

expression
Expression

que Expression se va a establecer la Operand propiedad igual a.

Devoluciones

que UnaryExpression tiene la NodeType propiedad igual a NegateChecked y la Operand propiedad establecida en el valor especificado.

Excepciones

expression es null.

El operador unario menos no está definido para expression. Tipo.

Comentarios

La Method propiedad del resultado UnaryExpression se establece en el método de implementación. La Type propiedad se establece en el tipo del nodo. Si se levanta el nodo, tanto las propiedades IsLifted como IsLiftedToNull son true. De lo contrario, son false.

Método de implementación

Las reglas siguientes determinan el método de implementación para la operación:

  • Si expressiones . El tipo es un tipo definido por el usuario que define el operador unario menos, que MethodInfo representa ese operador es el método de implementación.

  • De lo contrario, si expressiones . El tipo es un tipo numérico, el método de implementación es null.

Tipo de nodo y elevado frente a no elevado

Si el método de implementación no es null:

  • Si expressiones . El tipo se puede asignar al tipo de argumento del método de implementación, el nodo no se levanta. El tipo del nodo es el tipo de valor devuelto del método de implementación.

  • Si se cumplen las dos condiciones siguientes, el nodo se levanta y el tipo del nodo es el tipo anulable que corresponde al tipo de retorno del método implementador.

    • expression. El tipo es un tipo de valor que acepta valores NULL y el tipo de valor que no acepta valores NULL correspondiente es igual al tipo de argumento del método de implementación.

    • El tipo de valor devuelto del método de implementación es un tipo de valor que no acepta valores NULL.

Si el método de implementación es null, el tipo del nodo es expression. Tipo. Si expressiones . El tipo no acepta valores NULL, el nodo no se levanta. De lo contrario, se levanta el nodo.

Se aplica a

NegateChecked(Expression, MethodInfo)

Source:
UnaryExpression.cs
Source:
UnaryExpression.cs
Source:
UnaryExpression.cs
Source:
UnaryExpression.cs
Source:
UnaryExpression.cs

Crea un UnaryExpression objeto que representa una operación de negación aritmética que tiene comprobación de desbordamiento. Se puede especificar el método de implementación.

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

Parámetros

expression
Expression

que Expression se va a establecer la Operand propiedad igual a.

method
MethodInfo

MethodInfo que se va a establecer la Method propiedad igual a.

Devoluciones

que UnaryExpression tiene la NodeType propiedad igual a NegateChecked y las Operand propiedades y Method establecidas en los valores especificados.

Excepciones

expression es null.

method no null es y el método que representa devuelve void, no static es (Shared en Visual Basic) o no toma exactamente un argumento.

method es null y el operador unario menos no está definido para expression. Tipo.

O bien

expression. Tipo (o su tipo que no acepta valores NULL correspondiente si es un tipo de valor que acepta valores NULL) no se puede asignar al tipo de argumento del método representado por method.

Comentarios

La Method propiedad del resultado UnaryExpression se establece en el método de implementación. La Type propiedad se establece en el tipo del nodo. Si se levanta el nodo, tanto las propiedades IsLifted como IsLiftedToNull son true. De lo contrario, son false.

Método de implementación

Las reglas siguientes determinan el método de implementación para la operación:

  • Si method no null es y representa un método no void( staticShared en Visual Basic) que toma un argumento, es el método de implementación para el nodo.

  • Si expressiones . El tipo es un tipo definido por el usuario que define el operador unario menos, que MethodInfo representa ese operador es el método de implementación.

  • De lo contrario, si expressiones . El tipo es un tipo numérico, el método de implementación es null.

Tipo de nodo y elevado frente a no elevado

Si el método de implementación no es null:

  • Si expressiones . El tipo se puede asignar al tipo de argumento del método de implementación, el nodo no se levanta. El tipo del nodo es el tipo de valor devuelto del método de implementación.

  • Si se cumplen las dos condiciones siguientes, el nodo se levanta y el tipo del nodo es el tipo anulable que corresponde al tipo de retorno del método implementador.

    • expression. El tipo es un tipo de valor que acepta valores NULL y el tipo de valor que no acepta valores NULL correspondiente es igual al tipo de argumento del método de implementación.

    • El tipo de valor devuelto del método de implementación es un tipo de valor que no acepta valores NULL.

Si el método de implementación es null, el tipo del nodo es expression. Tipo. Si expressiones . El tipo no acepta valores NULL, el nodo no se levanta. De lo contrario, se levanta el nodo.

Se aplica a