Compartilhar via


Expression.ConvertChecked Método

Definição

Cria uma UnaryExpression que representa uma operação de conversão que lança uma exceção se o tipo de destino está estourado.

Sobrecargas

ConvertChecked(Expression, Type)

Cria uma UnaryExpression que representa uma operação de conversão que lança uma exceção se o tipo de destino está estourado.

ConvertChecked(Expression, Type, MethodInfo)

Cria uma UnaryExpression que representa uma operação de conversão que lança uma exceção se o tipo de destino está estourado e para o qual o método de implementação é especificado.

ConvertChecked(Expression, Type)

Origem:
UnaryExpression.cs
Origem:
UnaryExpression.cs
Origem:
UnaryExpression.cs

Cria uma UnaryExpression que representa uma operação de conversão que lança uma exceção se o tipo de destino está estourado.

public:
 static System::Linq::Expressions::UnaryExpression ^ ConvertChecked(System::Linq::Expressions::Expression ^ expression, Type ^ type);
public static System.Linq.Expressions.UnaryExpression ConvertChecked (System.Linq.Expressions.Expression expression, Type type);
static member ConvertChecked : System.Linq.Expressions.Expression * Type -> System.Linq.Expressions.UnaryExpression
Public Shared Function ConvertChecked (expression As Expression, type As Type) As UnaryExpression

Parâmetros

expression
Expression

Um Expression para definir a propriedade Operand igual a ele.

type
Type

Um Type para definir a propriedade Type igual a ele.

Retornos

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

Exceções

expression ou type é null.

Não há nenhum operador de conversão definido entre expression.Type e type.

Comentários

A Method propriedade do resultante UnaryExpression é definida como o método de implementação. A propriedade IsLiftedToNull é false. Se o nó for levantado, IsLifted será true. Caso contrário, será false.

Implementando método

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

  • Se for expression. Type ou type é um tipo definido pelo usuário que define um operador de conversão implícita ou explícita, o MethodInfo que representa esse operador é o método de implementação.

  • Caso contrário:

    • Se ambos expressionforem . Digite e type represente tipos numéricos ou boolianos, ou tipos de enumeração anuláveis ou não anuláveis, o método de implementação é null.

    • Se for expression. O tipo ou type é um tipo de referência e existe uma conversão explícita de conversão boxing, unboxing ou reference de expression. Digite para type, o método de implementação é null.

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 e o tipo de retorno do método de implementação é atribuível a type, o nó não é levantado.

  • Se um ou ambos forem expression. O tipo ou type é um tipo de valor anulável e os tipos de valor não anuláveis correspondentes são iguais ao tipo de argumento e o tipo de retorno do método de implementação, respectivamente, o nó é levantado.

Se o método de implementação for null:

  • Se ambos expressionforem . Digite e type não permitem valor nulo, o nó não é levantado.

  • Caso contrário, o nó será levantado.

Aplica-se a

ConvertChecked(Expression, Type, MethodInfo)

Origem:
UnaryExpression.cs
Origem:
UnaryExpression.cs
Origem:
UnaryExpression.cs

Cria uma UnaryExpression que representa uma operação de conversão que lança uma exceção se o tipo de destino está estourado e para o qual o método de implementação é especificado.

public:
 static System::Linq::Expressions::UnaryExpression ^ ConvertChecked(System::Linq::Expressions::Expression ^ expression, Type ^ type, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.UnaryExpression ConvertChecked (System.Linq.Expressions.Expression expression, Type type, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.UnaryExpression ConvertChecked (System.Linq.Expressions.Expression expression, Type type, System.Reflection.MethodInfo? method);
static member ConvertChecked : System.Linq.Expressions.Expression * Type * System.Reflection.MethodInfo -> System.Linq.Expressions.UnaryExpression
Public Shared Function ConvertChecked (expression As Expression, type As Type, method As MethodInfo) As UnaryExpression

Parâmetros

expression
Expression

Um Expression para definir a propriedade Operand igual a ele.

type
Type

Um Type para definir a propriedade Type igual a ele.

method
MethodInfo

Um MethodInfo para definir a propriedade Method igual a ele.

Retornos

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

Exceções

expression ou type é 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.

Não há nenhum operador de conversão definido entre expression.Type e type.

- ou -

expression.Type não é atribuível ao tipo de argumento do método representado pelo method.

- ou -

O tipo de retorno do método representado por method não é atribuível ao type.

- ou -

expression.Type ou type é um tipo de valor que permite valor nulo e o tipo de valor que não permite valor nulo correspondente não é igual ao tipo de argumento ou ao tipo de retorno, respectivamente, do método representado por method.

Foi encontrado mais de um método que corresponde à descrição de method.

Comentários

A Method propriedade do resultante UnaryExpression é definida como o método de implementação. A propriedade IsLiftedToNull é false. Se o nó for levantado, IsLifted será true. Caso contrário, será false.

Implementando método

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

  • Se o método não nullfor , será o método de implementação. Ele deve representar um método não nulo, static (Shared no Visual Basic) que usa um argumento.

  • Caso contrário, se for expression. Type ou type é um tipo definido pelo usuário que define um operador de conversão implícita ou explícita, o MethodInfo que representa esse operador é o método de implementação.

  • Caso contrário:

    • Se ambos expressionforem . Digite e type represente tipos numéricos ou boolianos, ou tipos de enumeração anuláveis ou não anuláveis, o método de implementação é null.

    • Se for expression. O tipo ou type é um tipo de referência e existe uma conversão explícita de conversão boxing, unboxing ou reference de expression. Digite para type, o método de implementação é null.

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 e o tipo de retorno do método de implementação é atribuível a type, o nó não é levantado.

  • Se um ou ambos forem expression. O tipo ou type é um tipo de valor anulável e os tipos de valor não anuláveis correspondentes são iguais ao tipo de argumento e o tipo de retorno do método de implementação, respectivamente, o nó é levantado.

Se o método de implementação for null:

  • Se ambos expressionforem . Digite e type não permitem valor nulo, o nó não é levantado.

  • Caso contrário, o nó será levantado.

Aplica-se a