Expression.ConvertChecked Método

Definição

Cria um UnaryExpression que representa uma operação de conversão que lança uma exceção se o tipo alvo estiver saturado.

Sobrecargas

Name Description
ConvertChecked(Expression, Type)

Cria um UnaryExpression que representa uma operação de conversão que lança uma exceção se o tipo alvo estiver saturado.

ConvertChecked(Expression, Type, MethodInfo)

Cria uma UnaryExpression que representa uma operação de conversão que lança uma exceção se o tipo alvo estiver saturado 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 lança uma exceção se o tipo alvo estiver saturado.

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

E Expression para definir a Operand propriedade igual a .

type
Type

A Type para definir a Type propriedade igual a .

Devoluções

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

Exceções

expression ou type é null.

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

Observações

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

Método de Implementação

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

  • Se algum deles expression. Tipo ou type é um tipo definido pelo utilizador 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. Tipar e type representar tipos numéricos ou booleanos, ou tipos de enumeração nulos ou não anuláveis, o método de implementação é null.

    • Se algum deles expression. Tipo ou type é um tipo de referência e existe uma conversão explícita de boxing, unboxing ou referência a partir de expression. Tipem para type, o método de implementação é null.

Levantado versus Não Levantado

Se o método de execuçã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 a type, o nó não é elevado.

  • Se um ou ambos . expression Tipo ou type são um tipo de valor nulo e os tipos correspondentes de valor não anulável são iguais ao tipo de argumento e ao tipo de retorno do método implementador, respetivamente, o nó é elevado.

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

  • Se ambos expression. Tipo e type são não anuláveis, o nó não é elevado.

  • Caso contrário, o nó é 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 que representa uma operação de conversão que lança uma exceção se o tipo alvo estiver saturado 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

E 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 .

Devoluções

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

Exceções

expression ou type é null.

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

Nenhum operador de conversão é definido entre expression. Tipo 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. Tipo ou type é um tipo de valor nulo e o tipo correspondente de valor não nulo não é igual ao tipo de argumento ou ao tipo de retorno, respetivamente, do método representado por method.

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

Observações

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

Método de Implementação

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

  • Se o método não nullfor , é o método implementador. Deve representar um método não nulo, static (Shared em Visual Basic) que requer um argumento.

  • Caso contrário, se qualquer um expressiondos . Tipo ou type é um tipo definido pelo utilizador 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. Tipar e type representar tipos numéricos ou booleanos, ou tipos de enumeração nulos ou não anuláveis, o método de implementação é null.

    • Se algum deles expression. Tipo ou type é um tipo de referência e existe uma conversão explícita de boxing, unboxing ou referência a partir de expression. Tipem para type, o método de implementação é null.

Levantado versus Não Levantado

Se o método de execuçã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 a type, o nó não é elevado.

  • Se um ou ambos . expression Tipo ou type são um tipo de valor nulo e os tipos correspondentes de valor não anulável são iguais ao tipo de argumento e ao tipo de retorno do método implementador, respetivamente, o nó é elevado.

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

  • Se ambos expression. Tipo e type são não anuláveis, o nó não é elevado.

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

Aplica-se a