Expression.NegateChecked Método

Definição

Cria um UnaryExpression que representa uma operação aritmética de negação de adição que tem verificação de estouro.

Sobrecargas

NegateChecked(Expression)

Cria um UnaryExpression que representa uma operação aritmética de negação de adição que tem verificação de estouro.

NegateChecked(Expression, MethodInfo)

Cria um UnaryExpression que representa uma operação aritmética de negação de adição que tem verificação de estouro. O método de implementação pode ser especificado.

NegateChecked(Expression)

Cria um UnaryExpression que representa uma operação aritmética de negação de adição que tem verificação de estouro.

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

Um Expression para definir a propriedade Operand igual a ele.

Retornos

UnaryExpression

Uma UnaryExpression que tem a propriedade NodeType igual a NegateChecked e a propriedade Operand definida para o valor especificado.

Exceções

expression é null.

O operador de menos unário não está definido para expression.Type.

Comentários

A Method propriedade do resultado UnaryExpression é definida como o método de implementação. A Type propriedade é definida como o tipo do nó. Se o nó for levantado, as propriedades e IsLiftedToNull as IsLifted propriedades serão ambas true. Caso contrário, eles são falsos.

Implementando método

As seguintes regras determinam o método de implementação para a operação:

  • Se expression. O tipo é um tipo definido pelo usuário que define o operador unary minus, o MethodInfo que representa esse operador é o método de implementação.

  • Caso contrário, se expression. O tipo é um tipo numérico, o método de implementação é null.

Tipo de nó e versão com comparação de precisão x sem comparação de precisão

Se o método de implementação não nullfor:

  • Se expression. O tipo é atribuível ao tipo de argumento do método de implementação, o nó não é levantado. O tipo do nó é o tipo de retorno do método de implementação.

  • Se as duas condições a seguir forem atendidas, o nó será levantado e o tipo do nó será o tipo anulável que corresponde ao tipo de retorno do método de implementação:

    • expression. O tipo é um tipo de valor anulável e o tipo de valor não anulável correspondente é igual ao tipo de argumento do método de implementação.

    • O tipo de retorno do método de implementação é um tipo de valor não anulável.

Se o método de implementação for null, o tipo do nó será expression. Tipo. Se expression. O tipo não é anulável, o nó não é levantado. Caso contrário, o nó será levantado.

Aplica-se a

NegateChecked(Expression, MethodInfo)

Cria um UnaryExpression que representa uma operação aritmética de negação de adição que tem verificação de estouro. O método de implementação pode ser especificado.

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

Um Expression para definir a propriedade Operand igual a ele.

method
MethodInfo

Um MethodInfo para definir a propriedade Method igual a ele.

Retornos

UnaryExpression

Um UnaryExpression que tem a propriedade NodeType igual a NegateChecked e as propriedades Operand e Method definidas com os valores especificados.

Exceções

expression é null.

method não é null e o método que ele representa retorna void, não é static (Shared no Visual Basic) ou não tem exatamente um argumento.

method é null e o operador unário de menos não foi definido para expression.Type.

- ou - expression.Type (ou o respectivo tipo que não permite valor nulo correspondente se ele é um tipo que permite valor nulo) não é atribuível ao tipo de argumento do método representado por method.

Comentários

A Method propriedade do resultado UnaryExpression é definida como o método de implementação. A Type propriedade é definida como o tipo do nó. Se o nó for levantado, as propriedades e IsLiftedToNull as IsLifted propriedades serão ambas true. Caso contrário, eles são falsos.

Implementando método

As seguintes regras determinam o método de implementação para a operação:

  • Se method não null for e representar um método não nulo, static (Shared em Visual Basic) que usa um argumento, é o método de implementação para o nó.

  • Se expression. O tipo é um tipo definido pelo usuário que define o operador unary minus, o MethodInfo que representa esse operador é o método de implementação.

  • Caso contrário, se expression. O tipo é um tipo numérico, o método de implementação é null.

Tipo de nó e versão com comparação de precisão x sem comparação de precisão

Se o método de implementação não nullfor:

  • Se expression. O tipo é atribuível ao tipo de argumento do método de implementação, o nó não é levantado. O tipo do nó é o tipo de retorno do método de implementação.

  • Se as duas condições a seguir forem atendidas, o nó será levantado e o tipo do nó será o tipo anulável que corresponde ao tipo de retorno do método de implementação:

    • expression. O tipo é um tipo de valor anulável e o tipo de valor não anulável correspondente é igual ao tipo de argumento do método de implementação.

    • O tipo de retorno do método de implementação é um tipo de valor não anulável.

Se o método de implementação for null, o tipo do nó será expression. Tipo. Se expression. O tipo não é anulável, o nó não é levantado. Caso contrário, o nó será levantado.

Aplica-se a