Expression.ConvertChecked Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
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 otypees 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 ytyperepresente 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 esnull.Si es
expression. El tipo otypees un tipo de referencia y existe una conversión explícita de conversión boxing, unboxing o referencia desdeexpression. Escriba entype, el método de implementación esnull.
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 atype, el nodo no se levanta.Si es o ambos de
expression. El tipo otypeson 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 ytypeno 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.
- 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(staticShareden Visual Basic) que tome un argumento.De lo contrario, si es .
expressionEl tipo otypees 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 ytyperepresente 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 esnull.Si es
expression. El tipo otypees un tipo de referencia y existe una conversión explícita de conversión boxing, unboxing o referencia desdeexpression. Escriba entype, el método de implementación esnull.
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 atype, el nodo no se levanta.Si es o ambos de
expression. El tipo otypeson 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 ytypeno admiten valores NULL, el nodo no se levanta.De lo contrario, se levanta el nodo.