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 otype
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 ytype
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 esnull
.Si es
expression
. El tipo otype
es 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 null
es :
Si
expression
es . 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 otype
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 ytype
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.
- 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
null
es , es el método de implementación. Debe representar un método que no sea void(static
Shared
en Visual Basic) que tome un argumento.De lo contrario, si es .
expression
El tipo otype
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 ytype
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 esnull
.Si es
expression
. El tipo otype
es 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 null
es :
Si
expression
es . 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 otype
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 ytype
no admiten valores NULL, el nodo no se levanta.De lo contrario, se levanta el nodo.