Compartilhar via


Expression.ConvertChecked Método

Definição

Cria um UnaryExpression que representa uma operação de conversão que gera uma exceção se o tipo de destino for estourada.

Sobrecargas

Nome Description
ConvertChecked(Expression, Type)

Cria um UnaryExpression que representa uma operação de conversão que gera uma exceção se o tipo de destino for estourada.

ConvertChecked(Expression, Type, MethodInfo)

Cria uma UnaryExpression operação de conversão que gera uma exceção se o tipo de destino for estourada e para a qual o método de implementação é especificado.

ConvertChecked(Expression, Type)

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

Cria um UnaryExpression que representa uma operação de conversão que gera uma exceção se o tipo de destino for estourada.

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 Operand propriedade igual a.

type
Type

A Type para definir a Type propriedade igual a.

Retornos

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

Exceções

expression ou type é null.

Nenhum operador de conversão é definido entre expression. Digite e type.

Comentários

A Method propriedade do resultado 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 Digite ou type seja um tipo definido pelo usuário que define um operador de conversão implícito ou explícito, o MethodInfo que representa esse operador é o método de implementação.

  • Caso contrário:

    • Se ambos expression. 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 Digite ou type seja um tipo de referência e exista um boxing explícito, unboxing ou conversão de expressionreferência. Digite para type, o método de implementação é null.

Lifted versus Non-Lifted

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

  • 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, typeo nó não é levantado.

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

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

  • Se ambos expression. Digite e type não seja anulável, 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
Origem:
UnaryExpression.cs
Origem:
UnaryExpression.cs

Cria uma UnaryExpression operação de conversão que gera uma exceção se o tipo de destino for estourada e para a 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 Operand propriedade igual a.

type
Type

A Type para definir a Type propriedade igual a.

method
MethodInfo

A MethodInfo para definir a Method propriedade igual a.

Retornos

Um UnaryExpression que tem a NodeType propriedade igual e ConvertChecked a Operand, Typee Method propriedades definidas para 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 usa exatamente um argumento.

Nenhum operador de conversão é definido entre expression. Digite e type.

- ou -

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

- ou -

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

- ou -

expression. Digite ou type seja um tipo de valor anulável e o tipo de valor não anulável correspondente não seja igual ao tipo de argumento ou ao tipo de retorno, respectivamente, do método representado por method.

Mais de um método que corresponde à method descrição foi encontrado.

Comentários

A Method propriedade do resultado 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( staticShared no Visual Basic) que usa um argumento.

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

  • Caso contrário:

    • Se ambos expression. 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 Digite ou type seja um tipo de referência e exista um boxing explícito, unboxing ou conversão de expressionreferência. Digite para type, o método de implementação é null.

Lifted versus Non-Lifted

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

  • 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, typeo nó não é levantado.

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

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

  • Se ambos expression. Digite e type não seja anulável, o nó não é levantado.

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

Aplica-se a