Expression.ConvertChecked Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Crée un UnaryExpression qui représente une opération de conversion qui lève une exception en cas de dépassement du type cible.
Surcharges
ConvertChecked(Expression, Type) |
Crée un UnaryExpression qui représente une opération de conversion qui lève une exception en cas de dépassement du type cible. |
ConvertChecked(Expression, Type, MethodInfo) |
Crée un UnaryExpression qui représente une opération de conversion qui lève une exception en cas de dépassement du type cible et pour lequel la méthode d'implémentation est spécifiée. |
ConvertChecked(Expression, Type)
Crée un UnaryExpression qui représente une opération de conversion qui lève une exception en cas de dépassement du type cible.
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
Paramètres
- expression
- Expression
Expression auquel la propriété Operand doit être égale.
Retours
UnaryExpression dont la propriété NodeType est égale à ConvertChecked et dont les propriétés Operand et Type ont les valeurs spécifiées.
Exceptions
expression
ou type
est null
.
Aucun opérateur de conversion n'est défini entre expression
.Type et type
.
Remarques
La Method propriété du résultat UnaryExpression est définie sur la méthode d’implémentation. La propriété IsLiftedToNull a la valeur false
. Si le nœud est levé, IsLifted est true
. Sinon, c’est false
.
Implémentation de la méthode
Les règles suivantes déterminent la méthode d’implémentation de l’opération :
Si l’un ou l’autre
expression
. Type outype
type défini par l’utilisateur qui définit un opérateur de conversion implicite ou explicite, MethodInfo qui représente cet opérateur est la méthode d’implémentation.Sinon :
Si les deux
expression
. Type ettype
représenter des types numériques ou booléens, ou des types d’énumération nullables ou non nullables, la méthode d’implémentation estnull
.Si l’un ou l’autre
expression
. Type outype
est un type de référence et une boxe explicite, unboxing ou conversion de référence existe à partir deexpression
. Type àtype
, la méthode d’implémentation estnull
.
Lifted versus Non-Lifted
Si la méthode d’implémentation n’est pas null
:
Si
expression
. Le type est assignable au type d’argument de la méthode d’implémentation et le type de retour de la méthode d’implémentation est assignabletype
à , le nœud n’est pas levé.Si l’un ou l’autre de
expression
. Type outype
type valeur nullable et les types de valeurs non nullables correspondants sont égaux au type d’argument et au type de retour de la méthode d’implémentation respectivement, le nœud est levé.
Si la méthode d’implémentation est null
:
Si les deux
expression
. Type ettype
non nullables, le nœud n’est pas levé.Sinon, le nœud est levé.
S’applique à
ConvertChecked(Expression, Type, MethodInfo)
Crée un UnaryExpression qui représente une opération de conversion qui lève une exception en cas de dépassement du type cible et pour lequel la méthode d'implémentation est spécifiée.
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
Paramètres
- expression
- Expression
Expression auquel la propriété Operand doit être égale.
- method
- MethodInfo
MethodInfo auquel la propriété Method doit être égale.
Retours
UnaryExpression dont la propriété NodeType est égale à ConvertChecked et dont les propriétés Operand, Type et Method ont les valeurs spécifiées.
Exceptions
expression
ou type
est null
.
method
n'est pas null
et la méthode représentée retourne void
, n'est pas static
(Shared
en Visual Basic) ou ne prend pas un argument exactement.
Aucun opérateur de conversion n'est défini entre expression
.Type et type
.
ou -
expression
.Type ne peut pas être assigné au type d'argument de la méthode représentée parmethod
.ou - Le type de retour de la méthode représentée par
method
ne peut pas être assigné àtype
.ou -
expression
.Type outype
est un type valeur Nullable et le type valeur autre que Nullable correspondant n'est pas égal au type d'argument ou au type de retour, respectivement, de la méthode représentée parmethod
.
Plusieurs méthodes correspondant à la description method
ont été trouvées.
Remarques
La Method propriété du résultat UnaryExpression est définie sur la méthode d’implémentation. La propriété IsLiftedToNull a la valeur false
. Si le nœud est levé, IsLifted est true
. Sinon, c’est false
.
Implémentation de la méthode
Les règles suivantes déterminent la méthode d’implémentation de l’opération :
Si la méthode n’est pas
null
, il s’agit de la méthode d’implémentation. Elle doit représenter une méthode non vide (static``Shared
dans Visual Basic) qui prend un argument.Sinon, si l’un ou l’autre
expression
. Type outype
type défini par l’utilisateur qui définit un opérateur de conversion implicite ou explicite, MethodInfo qui représente cet opérateur est la méthode d’implémentation.Sinon :
Si les deux
expression
. Type ettype
représenter des types numériques ou booléens, ou des types d’énumération nullables ou non nullables, la méthode d’implémentation estnull
.Si l’un ou l’autre
expression
. Type outype
est un type de référence et une boxe explicite, unboxing ou conversion de référence existe à partir deexpression
. Type àtype
, la méthode d’implémentation estnull
.
Lifted versus Non-Lifted
Si la méthode d’implémentation n’est pas null
:
Si
expression
. Le type est assignable au type d’argument de la méthode d’implémentation et le type de retour de la méthode d’implémentation est assignabletype
à , le nœud n’est pas levé.Si l’un ou l’autre de
expression
. Type outype
type valeur nullable et les types de valeurs non nullables correspondants sont égaux au type d’argument et au type de retour de la méthode d’implémentation respectivement, le nœud est levé.
Si la méthode d’implémentation est null
:
Si les deux
expression
. Type ettype
non nullables, le nœud n’est pas levé.Sinon, le nœud est levé.