Expression.ConvertChecked Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria uma UnaryExpression que representa uma operação de conversão que lança uma exceção se o tipo de destino está estourado.
Sobrecargas
| ConvertChecked(Expression, Type) |
Cria uma UnaryExpression que representa uma operação de conversão que lança uma exceção se o tipo de destino está estourado. |
| ConvertChecked(Expression, Type, MethodInfo) |
Cria uma UnaryExpression que representa uma operação de conversão que lança uma exceção se o tipo de destino está estourado e para o qual o método de implementação é especificado. |
ConvertChecked(Expression, Type)
- 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 de destino está estourado.
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 propriedade Operand igual a ele.
Retornos
Um UnaryExpression que tem a propriedade NodeType igual a ConvertChecked e as propriedades Operand e Type definidas com os valores especificados.
Exceções
expression ou type é null.
Não há nenhum operador de conversão definido entre expression.Type e type.
Comentários
A Method propriedade do resultante 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. Type outypeé um tipo definido pelo usuário que define um operador de conversão implícita ou explícita, o MethodInfo que representa esse operador é o método de implementação.Caso contrário:
Se ambos
expressionforem . Digite etyperepresente 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. O tipo outypeé um tipo de referência e existe uma conversão explícita de conversão boxing, unboxing ou reference deexpression. Digite paratype, o método de implementação énull.
Com comparação de precisão x sem comparação de precisão
Se o método de implementação não nullfor :
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 atype, o nó não é levantado.Se um ou ambos forem
expression. O tipo outypeé um tipo de valor anulável e os tipos de valor não anuláveis correspondentes são iguais ao tipo de argumento e o tipo de retorno do método de implementação, respectivamente, o nó é levantado.
Se o método de implementação for null:
Se ambos
expressionforem . Digite etypenão permitem valor nulo, 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
Cria uma UnaryExpression que representa uma operação de conversão que lança uma exceção se o tipo de destino está estourado e para o 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 propriedade Operand igual a ele.
- method
- MethodInfo
Um MethodInfo para definir a propriedade Method igual a ele.
Retornos
Um UnaryExpression que tem a propriedade NodeType igual a ConvertChecked e as propriedades Operand, Type e Method definidas com 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 tem exatamente um argumento.
Não há nenhum operador de conversão definido entre expression.Type e type.
- ou -
expression.Type não é atribuível ao tipo de argumento do método representado pelo method.
- ou -
O tipo de retorno do método representado por method não é atribuível ao type.
- ou -
expression.Type ou type é um tipo de valor que permite valor nulo e o tipo de valor que não permite valor nulo correspondente não é igual ao tipo de argumento ou ao tipo de retorno, respectivamente, do método representado por method.
Foi encontrado mais de um método que corresponde à descrição de method.
Comentários
A Method propriedade do resultante 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,static(Sharedno Visual Basic) que usa um argumento.Caso contrário, se for
expression. Type outypeé um tipo definido pelo usuário que define um operador de conversão implícita ou explícita, o MethodInfo que representa esse operador é o método de implementação.Caso contrário:
Se ambos
expressionforem . Digite etyperepresente 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. O tipo outypeé um tipo de referência e existe uma conversão explícita de conversão boxing, unboxing ou reference deexpression. Digite paratype, o método de implementação énull.
Com comparação de precisão x sem comparação de precisão
Se o método de implementação não nullfor :
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 atype, o nó não é levantado.Se um ou ambos forem
expression. O tipo outypeé um tipo de valor anulável e os tipos de valor não anuláveis correspondentes são iguais ao tipo de argumento e o tipo de retorno do método de implementação, respectivamente, o nó é levantado.
Se o método de implementação for null:
Se ambos
expressionforem . Digite etypenão permitem valor nulo, o nó não é levantado.Caso contrário, o nó será levantado.