Expression.ConvertChecked Méthode

Définition

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.Creates a UnaryExpression that represents a conversion operation that throws an exception if the target type is overflowed.

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.Creates a UnaryExpression that represents a conversion operation that throws an exception if the target type is overflowed.

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.Creates a UnaryExpression that represents a conversion operation that throws an exception if the target type is overflowed and for which the implementing method is specified.

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.Creates a UnaryExpression that represents a conversion operation that throws an exception if the target type is overflowed.

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

Paramètres

expression
Expression

Expression auquel la propriété Operand doit être égale.An Expression to set the Operand property equal to.

type
Type

Type auquel la propriété Type doit être égale.A Type to set the Type property equal to.

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.A UnaryExpression that has the NodeType property equal to ConvertChecked and the Operand and Type properties set to the specified values.

Exceptions

expression ou type est null.expression or type is null.

Aucun opérateur de conversion n'est défini entre expression.Type et type.No conversion operator is defined between expression.Type and type.

Remarques

La propriété du résultant UnaryExpression a la valeur de la méthode d’implémentation. MethodThe Method property of the resulting UnaryExpression is set to the implementing method. La propriété IsLiftedToNull est false.The IsLiftedToNull property is false. Si le nœud est levé, IsLifted est. trueIf the node is lifted, IsLifted is true. Sinon, il s'agit de false.Otherwise, it is false.

Implémentation de la méthodeImplementing Method

Les règles suivantes déterminent la méthode d’implémentation pour l’opération :The following rules determine the implementing method for the operation:

  • Si l' expressionune ou l’autre. Type ou type est un type défini par l’utilisateur qui définit un opérateur de conversion implicite ou MethodInfo explicite, le qui représente cet opérateur est la méthode d’implémentation.If either expression.Type or type is a user-defined type that defines an implicit or explicit conversion operator, the MethodInfo that represents that operator is the implementing method.

  • Sinon :Otherwise:

    • Si les expressiondeux. Tapez et type représentent des types numériques ou booléens, ou des types énumération Nullable ou non Nullable, la nullméthode d’implémentation est.If both expression.Type and type represent numeric or Boolean types, or nullable or non-nullable enumeration types, the implementing method is null.

    • Si l' expressionune ou l’autre. Type ou type est un type référence et une conversion boxing, unboxing ou référence explicite existe à partir expressionde. Tapez sur type, la méthode d’implémentation nullest.If either expression.Type or type is a reference type and an explicit boxing, unboxing, or reference conversion exists from expression.Type to type, the implementing method is null.

Levée et non levéeLifted versus Non-Lifted

Si la méthode d’implémentation n' nullest pas :If the implementing method is not null:

  • Si expression. Le type peut être assigné au type d’argument de la méthode d’implémentation et le type de retour de la méthode d’implémentation typepeut être assigné à, le nœud n’est pas levé.If expression.Type is assignable to the argument type of the implementing method and the return type of the implementing method is assignable to type, the node is not lifted.

  • Si l’un ou l' expressionautre ou les deux. Type ou type est un type valeur Nullable et les types valeur non Nullable 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é.If either or both of expression.Type or type are a nullable value type and the corresponding non-nullable value types are equal to the argument type and the return type of the implementing method respectively, the node is lifted.

Si la méthode d’implémentation nullest :If the implementing method is null:

  • Si les expressiondeux. Type et type ne peuvent pas être null, le nœud n’est pas levé.If both expression.Type and type are non-nullable, the node is not lifted.

  • Dans le cas contraire, le nœud est levé.Otherwise the node is lifted.

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.Creates a UnaryExpression that represents a conversion operation that throws an exception if the target type is overflowed and for which the implementing method is specified.

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

Paramètres

expression
Expression

Expression auquel la propriété Operand doit être égale.An Expression to set the Operand property equal to.

type
Type

Type auquel la propriété Type doit être égale.A Type to set the Type property equal to.

method
MethodInfo

MethodInfo auquel la propriété Method doit être égale.A MethodInfo to set the Method property equal to.

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.A UnaryExpression that has the NodeType property equal to ConvertChecked and the Operand, Type, and Method properties set to the specified values.

Exceptions

expression ou type est null.expression or type is 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.method is not null and the method it represents returns void, is not static (Shared in Visual Basic), or does not take exactly one argument.

Aucun opérateur de conversion n'est défini entre expression.Type et type.No conversion operator is defined between expression.Type and type.

- ou --or- expression.Type ne peut pas être assigné au type d'argument de la méthode représentée par method.expression.Type is not assignable to the argument type of the method represented by method.

- ou --or- Le type de retour de la méthode représentée par method ne peut pas être assigné à type.The return type of the method represented by method is not assignable to type.

- ou --or- expression.Type ou type 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 par method.expression.Type or type is a nullable value type and the corresponding non-nullable value type does not equal the argument type or the return type, respectively, of the method represented by method.

Plusieurs méthodes correspondant à la description method ont été trouvées.More than one method that matches the method description was found.

Remarques

La propriété du résultant UnaryExpression a la valeur de la méthode d’implémentation. MethodThe Method property of the resulting UnaryExpression is set to the implementing method. La propriété IsLiftedToNull est false.The IsLiftedToNull property is false. Si le nœud est levé, IsLifted est. trueIf the node is lifted, IsLifted is true. Sinon, il s'agit de false.Otherwise, it is false.

Implémentation de la méthodeImplementing Method

Les règles suivantes déterminent la méthode d’implémentation pour l’opération :The following rules determine the implementing method for the operation:

  • Si la méthode n' nullest pas, il s’agit de la méthode d’implémentation.If method is not null, it is the implementing method. Il doit représenter une méthode non void, static (Shared dans Visual Basic) qui prend un argument.It must represent a non-void, static (Shared in Visual Basic) method that takes one argument.

  • Sinon, si l' expressionune des deux. Type ou type est un type défini par l’utilisateur qui définit un opérateur de conversion implicite ou MethodInfo explicite, le qui représente cet opérateur est la méthode d’implémentation.Otherwise, if either expression.Type or type is a user-defined type that defines an implicit or explicit conversion operator, the MethodInfo that represents that operator is the implementing method.

  • Sinon :Otherwise:

    • Si les expressiondeux. Tapez et type représentent des types numériques ou booléens, ou des types énumération Nullable ou non Nullable, la nullméthode d’implémentation est.If both expression.Type and type represent numeric or Boolean types, or nullable or non-nullable enumeration types, the implementing method is null.

    • Si l' expressionune ou l’autre. Type ou type est un type référence et une conversion boxing, unboxing ou référence explicite existe à partir expressionde. Tapez sur type, la méthode d’implémentation nullest.If either expression.Type or type is a reference type and an explicit boxing, unboxing, or reference conversion exists from expression.Type to type, the implementing method is null.

Levée et non levéeLifted versus Non-Lifted

Si la méthode d’implémentation n' nullest pas :If the implementing method is not null:

  • Si expression. Le type peut être assigné au type d’argument de la méthode d’implémentation et le type de retour de la méthode d’implémentation typepeut être assigné à, le nœud n’est pas levé.If expression.Type is assignable to the argument type of the implementing method and the return type of the implementing method is assignable to type, the node is not lifted.

  • Si l’un ou l' expressionautre ou les deux. Type ou type est un type valeur Nullable et les types valeur non Nullable 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é.If either or both of expression.Type or type are a nullable value type and the corresponding non-nullable value types are equal to the argument type and the return type of the implementing method respectively, the node is lifted.

Si la méthode d’implémentation nullest :If the implementing method is null:

  • Si les expressiondeux. Type et type ne peuvent pas être null, le nœud n’est pas levé.If both expression.Type and type are non-nullable, the node is not lifted.

  • Dans le cas contraire, le nœud est levé.Otherwise the node is lifted.

S’applique à