Share via


Expression.ConvertChecked Método

Definición

Crea un objeto UnaryExpression que representa una operación de conversión que produce una excepción si está desbordado el tipo de destino.

Sobrecargas

ConvertChecked(Expression, Type)

Crea un objeto UnaryExpression que representa una operación de conversión que produce una excepción si está desbordado el tipo de destino.

ConvertChecked(Expression, Type, MethodInfo)

Crea un objeto UnaryExpression que representa una operación de conversión que produce una excepción si está desbordado el tipo de destino y para la que se especifica el método de implementación.

ConvertChecked(Expression, Type)

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

Crea un objeto UnaryExpression que representa una operación de conversión que produce una excepción si está desbordado el tipo de destino.

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

Objeto Expression en el que se va a establecer la propiedad Operand.

type
Type

Type en el que se va a establecer la propiedad Type.

Devoluciones

UnaryExpression cuya propiedad NodeType es ConvertChecked y cuyas propiedades Operand y Type se establecen en los valores especificados.

Excepciones

expression o type es null.

No hay ningún operador de conversión definido entre expression.Type y type.

Comentarios

La Method propiedad del resultado UnaryExpression se establece en el método de implementación. La propiedad IsLiftedToNull es false. Si se levanta el nodo, IsLifted es true. De lo contrario, es false.

Método de implementación

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

  • Si es expression. El tipo o type es un tipo definido por el usuario que define un operador de conversión implícito o explícito, que MethodInfo representa ese operador es el método de implementación.

  • De lo contrario:

    • Si ambos expression. Escriba y type represente tipos numéricos o booleanos, o tipos de enumeración que aceptan valores NULL o que no aceptan valores NULL, el método de implementación es null.

    • Si es expression. El tipo o type es un tipo de referencia y existe una conversión explícita de conversión boxing, unboxing o referencia desde expression. Escriba en type, el método de implementación es null.

Elevación frente a no levantada

Si el método de implementación no nulles :

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

  • Si es o ambos de expression. El tipo o type son un tipo de valor que acepta valores NULL y los tipos de valor que no aceptan valores NULL correspondientes son iguales al tipo de argumento y al tipo de valor devuelto del método de implementación, respectivamente, se levanta el nodo.

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

  • Si ambos expression. El tipo y type no admiten valores NULL, el nodo no se levanta.

  • De lo contrario, se levanta el nodo.

Se aplica a

ConvertChecked(Expression, Type, MethodInfo)

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

Crea un objeto UnaryExpression que representa una operación de conversión que produce una excepción si está desbordado el tipo de destino y para la que se especifica el método de implementación.

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

Objeto Expression en el que se va a establecer la propiedad Operand.

type
Type

Type en el que se va a establecer la propiedad Type.

method
MethodInfo

MethodInfo en el que se va a establecer la propiedad Method.

Devoluciones

UnaryExpression cuya propiedad NodeType es ConvertChecked y Operand, Type y Method se establecen en los valores especificados.

Excepciones

expression o type es null.

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

No hay ningún operador de conversión definido entre expression.Type y type.

o bien

expression.Type no se puede asignar al tipo de argumento del método representado por method.

o bien

El tipo de valor devuelto del método representado por method no se puede asignar a type.

o bien

expression.Type o type es un tipo de valor que acepta valores null y el correspondiente tipo de valor que no acepta valores null no es igual que el tipo de argumento o el tipo de valor devuelto, respectivamente, del método representado por method.

Se ha encontrado más de un método que coincide con la descripción de method.

Comentarios

La Method propiedad del resultado UnaryExpression se establece en el método de implementación. La propiedad IsLiftedToNull es false. Si se levanta el nodo, IsLifted es true. De lo contrario, es false.

Método de implementación

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

  • Si el método no nulles , es el método de implementación. Debe representar un método que no sea void( staticShared en Visual Basic) que tome un argumento.

  • De lo contrario, si es . expression El tipo o type es un tipo definido por el usuario que define un operador de conversión implícito o explícito, que MethodInfo representa ese operador es el método de implementación.

  • De lo contrario:

    • Si ambos expression. Escriba y type represente tipos numéricos o booleanos, o tipos de enumeración que aceptan valores NULL o que no aceptan valores NULL, el método de implementación es null.

    • Si es expression. El tipo o type es un tipo de referencia y existe una conversión explícita de conversión boxing, unboxing o referencia desde expression. Escriba en type, el método de implementación es null.

Elevación frente a no levantada

Si el método de implementación no nulles :

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

  • Si es o ambos de expression. El tipo o type son un tipo de valor que acepta valores NULL y los tipos de valor que no aceptan valores NULL correspondientes son iguales al tipo de argumento y al tipo de valor devuelto del método de implementación, respectivamente, se levanta el nodo.

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

  • Si ambos expression. El tipo y type no admiten valores NULL, el nodo no se levanta.

  • De lo contrario, se levanta el nodo.

Se aplica a