Partager via


Expression.LeftShift Méthode

Définition

Crée un BinaryExpression qui représente une opération de bits de décalage vers la gauche.

Surcharges

LeftShift(Expression, Expression)

Crée un BinaryExpression qui représente une opération de bits de décalage vers la gauche.

LeftShift(Expression, Expression, MethodInfo)

Crée un BinaryExpression qui représente une opération de bits de décalage vers la gauche.

LeftShift(Expression, Expression)

Source:
BinaryExpression.cs
Source:
BinaryExpression.cs
Source:
BinaryExpression.cs

Crée un BinaryExpression qui représente une opération de bits de décalage vers la gauche.

public:
 static System::Linq::Expressions::BinaryExpression ^ LeftShift(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right);
public static System.Linq.Expressions.BinaryExpression LeftShift (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right);
static member LeftShift : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.BinaryExpression
Public Shared Function LeftShift (left As Expression, right As Expression) As BinaryExpression

Paramètres

left
Expression

Expression auquel la propriété Left doit être égale.

right
Expression

Expression auquel la propriété Right doit être égale.

Retours

BinaryExpression dont la propriété NodeType est égale à LeftShift et dont les propriétés Left et Right ont les valeurs spécifiées.

Exceptions

left ou right est null.

L'opérateur de décalage vers la gauche n'est pas défini pour left.Type et right.Type.

Remarques

La propriété résultante BinaryExpression est Method définie sur la méthode d’implémentation. La Type propriété est définie sur le type du nœud. Si le nœud est levé, les IsLifted propriétés et IsLiftedToNull sont toutes deux true. Sinon, il s’agit falsede . La propriété Conversion a la valeur null.

Les informations suivantes décrivent la méthode d’implémentation, le type de nœud et si un nœud est levé.

Implémentation de la méthode

Les règles suivantes déterminent la méthode d’implémentation sélectionnée pour l’opération :

  • Si la Type propriété de left ou right représente un type défini par l’utilisateur qui surcharge l’opérateur de décalage gauche, le MethodInfo qui représente cette méthode est la méthode d’implémentation.

  • Sinon, si left. Le type est un type intégral (l’un des Bytetypes , SByteInt16, UInt16, Int32, UInt32Int64, UInt64ou les types nullables correspondants) et right. Type , Int32la méthode d’implémentation est null.

Type de nœud et lifté par rapport à non lifté

Si la méthode d’implémentation n’est pas null:

  • Si left. Tapez et right. Les types sont assignables aux types d’arguments correspondants de la méthode d’implémentation, le nœud n’est pas levé. Le type du nœud est le type de retour de la méthode d’implémentation.

  • Si les deux conditions suivantes sont remplies, le nœud est levé et le type du nœud est le type nullable qui correspond au type de retour de la méthode d’implémentation :

    • left. Tapez et right. Les types sont tous deux des types valeur dont au moins un est nullable et les types non nullables correspondants sont égaux aux types d’arguments correspondants de la méthode d’implémentation.

    • Le type de retour de la méthode d’implémentation est un type valeur non nullable.

Si la méthode d’implémentation est null:

  • Si left. Tapez et right. Les types sont tous deux non nullables, le nœud n’est pas levé. Le type du nœud est le type de résultat de l’opérateur de décalage vers la gauche prédéfini.

  • Si left. Tapez et right. Les types sont tous les deux nullables, le nœud est levé. Le type du nœud est le type nullable qui correspond au type de résultat de l’opérateur de décalage vers la gauche prédéfini.

S’applique à

LeftShift(Expression, Expression, MethodInfo)

Source:
BinaryExpression.cs
Source:
BinaryExpression.cs
Source:
BinaryExpression.cs

Crée un BinaryExpression qui représente une opération de bits de décalage vers la gauche.

public:
 static System::Linq::Expressions::BinaryExpression ^ LeftShift(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.BinaryExpression LeftShift (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.BinaryExpression LeftShift (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo? method);
static member LeftShift : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.BinaryExpression
Public Shared Function LeftShift (left As Expression, right As Expression, method As MethodInfo) As BinaryExpression

Paramètres

left
Expression

Expression auquel la propriété Left doit être égale.

right
Expression

Expression auquel la propriété Right doit être égale.

method
MethodInfo

MethodInfo auquel la propriété Method doit être égale.

Retours

BinaryExpression dont la propriété NodeType est égale à LeftShift et dont les propriétés Left, Right et Method ont les valeurs spécifiées.

Exceptions

left ou right est null.

method n’est pas null et la méthode représentée retourne void, pas static (Shared dans Visual Basic) ou ne prend pas exactement deux arguments.

method est null et l'opérateur de décalage vers la gauche n'est pas défini pour left.Type et right.Type.

Remarques

La propriété résultante BinaryExpression est Method définie sur la méthode d’implémentation. La Type propriété est définie sur le type du nœud. Si le nœud est levé, les IsLifted propriétés et IsLiftedToNull sont toutes deux true. Sinon, il s’agit falsede . La propriété Conversion a la valeur null.

Les informations suivantes décrivent la méthode d’implémentation, le type de nœud et si un nœud est levé.

Implémentation de la méthode

Les règles suivantes déterminent la méthode d’implémentation sélectionnée pour l’opération :

  • Si method n’est pas null et qu’il représente une méthode non void ( staticShared en Visual Basic) qui prend deux arguments, il s’agit de la méthode d’implémentation pour le nœud.

  • Sinon, si la Type propriété de left ou right représente un type défini par l’utilisateur qui surcharge l’opérateur de décalage gauche, le MethodInfo qui représente cette méthode est la méthode d’implémentation.

  • Sinon, si left. Le type est un type intégral (l’un des Bytetypes , SByteInt16, UInt16, Int32, UInt32Int64, UInt64ou les types nullables correspondants) et right. Type , Int32la méthode d’implémentation est null.

Type de nœud et lifté par rapport à non lifté

Si la méthode d’implémentation n’est pas null:

  • Si left. Tapez et right. Les types sont assignables aux types d’arguments correspondants de la méthode d’implémentation, le nœud n’est pas levé. Le type du nœud est le type de retour de la méthode d’implémentation.

  • Si les deux conditions suivantes sont remplies, le nœud est levé et le type du nœud est le type nullable qui correspond au type de retour de la méthode d’implémentation :

    • left. Tapez et right. Les types sont tous deux des types valeur dont au moins un est nullable et les types non nullables correspondants sont égaux aux types d’arguments correspondants de la méthode d’implémentation.

    • Le type de retour de la méthode d’implémentation est un type valeur non nullable.

Si la méthode d’implémentation est null:

  • Si left. Tapez et right. Les types sont tous deux non nullables, le nœud n’est pas levé. Le type du nœud est le type de résultat de l’opérateur de décalage vers la gauche prédéfini.

  • Si left. Tapez et right. Les types sont tous les deux nullables, le nœud est levé. Le type du nœud est le type nullable qui correspond au type de résultat de l’opérateur de décalage vers la gauche prédéfini.

S’applique à