Expression.RightShift Méthode

Définition

Crée un BinaryExpression qui représente une opération de bits de décalage vers la droite.Creates a BinaryExpression that represents a bitwise right-shift operation.

Surcharges

RightShift(Expression, Expression)

Crée un BinaryExpression qui représente une opération de bits de décalage vers la droite.Creates a BinaryExpression that represents a bitwise right-shift operation.

RightShift(Expression, Expression, MethodInfo)

Crée un BinaryExpression qui représente une opération de bits de décalage vers la droite.Creates a BinaryExpression that represents a bitwise right-shift operation.

RightShift(Expression, Expression)

Crée un BinaryExpression qui représente une opération de bits de décalage vers la droite.Creates a BinaryExpression that represents a bitwise right-shift operation.

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

Paramètres

left
Expression

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

right
Expression

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

Retours

BinaryExpression dont la propriété NodeType est égale à RightShift et dont les propriétés Left et Right ont les valeurs spécifiées.A BinaryExpression that has the NodeType property equal to RightShift and the Left and Right properties set to the specified values.

Exceptions

left ou right est null.left or right is null.

L'opérateur de décalage vers la droite n'est pas défini pour left.Type et right.Type.The right-shift operator is not defined for left.Type and right.Type.

Remarques

Le qui BinaryExpression en résulte Method a la propriété définie sur la méthode d’implémentation.The resulting BinaryExpression has the Method property set to the implementing method. La Type propriété est définie sur le type du nœud.The Type property is set to the type of the node. Si le nœud est levé, les IsLifted propriétés et IsLiftedToNull sont toutes les deux. trueIf the node is lifted, the IsLifted and IsLiftedToNull properties are both true. Dans le cas contraire false, il s’agit de.Otherwise, they are false. La propriété Conversion est null.The Conversion property is null.

Les informations suivantes décrivent la méthode d’implémentation, le type de nœud et si un nœud est levé.The following information describes the implementing method, the node type, and whether a node is lifted.

Implémentation de la méthodeImplementing Method

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

  • Si la Type left propriété de ou right représente un type défini par l’utilisateur qui surcharge l’opérateur de décalage vers la droite, le MethodInfo qui représente cette méthode est la méthode d’implémentation.If the Type property of either left or right represents a user-defined type that overloads the right-shift operator, the MethodInfo that represents that method is the implementing method.

  • Sinon, si left. Le type est un type intégral (un Byte UInt16 Int32 UInt64 ,,right,,,, ,oulestypesNullablecorrespondants)et.Int64 SByte Int16 UInt32 Le type Int32est, la méthode d' nullimplémentation est.Otherwise, if left.Type is an integral type (one of Byte, SByte, Int16, UInt16, Int32, UInt32, Int64, UInt64, or the corresponding nullable types) and right.Type is Int32, the implementing method is null.

Type de nœud, levé et non levéNode Type and Lifted versus Non-Lifted

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

  • Si left. Tapez et right. Le type peuvent être assignés aux types d’arguments correspondants de la méthode d’implémentation, le nœud n’est pas levé.If left.Type and right.Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. Le type du nœud est le type de retour de la méthode d’implémentation.The type of the node is the return type of the implementing method.

  • Si les deux conditions suivantes sont satisfaites, 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 :If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method:

    • left. Tapez et right. Le type sont à la fois des types valeur dont au moins un est Nullable et les types non Nullable correspondants sont égaux aux types d’arguments correspondants de la méthode d’implémentation.left.Type and right.Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method.

    • Le type de retour de la méthode d’implémentation est un type valeur qui n’autorise pas les valeurs NULL.The return type of the implementing method is a non-nullable value type.

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

  • Si left. Tapez et right. Le type n’accepte pas les valeurs NULL, le nœud n’est pas levé.If left.Type and right.Type are both non-nullable, the node is not lifted. Le type du nœud est le type de résultat de l’opérateur de décalage vers la droite prédéfini.The type of the node is the result type of the predefined right-shift operator.

  • Si left. Tapez et right. Le type acceptant les valeurs NULL, le nœud est levé.If left.Type and right.Type are both nullable, the node is lifted. 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 droite prédéfini.The type of the node is the nullable type that corresponds to the result type of the predefined right-shift operator.

RightShift(Expression, Expression, MethodInfo)

Crée un BinaryExpression qui représente une opération de bits de décalage vers la droite.Creates a BinaryExpression that represents a bitwise right-shift operation.

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

Paramètres

left
Expression

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

right
Expression

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

method
MethodInfo

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

Retours

BinaryExpression dont la propriété NodeType est égale à RightShift et dont les propriétés Left, Right et Method ont les valeurs spécifiées.A BinaryExpression that has the NodeType property equal to RightShift and the Left, Right, and Method properties set to the specified values.

Exceptions

left ou right est null.left or right 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 exactement deux arguments.method is not null and the method it represents returns void, is not static (Shared in Visual Basic), or does not take exactly two arguments.

method est null et l'opérateur de décalage vers la droite n'est pas défini pour left.Type et right.Type.method is null and the right-shift operator is not defined for left.Type and right.Type.

Remarques

Le qui BinaryExpression en résulte Method a la propriété définie sur la méthode d’implémentation.The resulting BinaryExpression has the Method property set to the implementing method. La Type propriété est définie sur le type du nœud.The Type property is set to the type of the node. Si le nœud est levé, les IsLifted propriétés et IsLiftedToNull sont toutes les deux. trueIf the node is lifted, the IsLifted and IsLiftedToNull properties are both true. Dans le cas contraire false, il s’agit de.Otherwise, they are false. La propriété Conversion est null.The Conversion property is null.

Les informations suivantes décrivent la méthode d’implémentation, le type de nœud et si un nœud est levé.The following information describes the implementing method, the node type, and whether a node is lifted.

Implémentation de la méthodeImplementing Method

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

  • Si method n’est null pas et qu’il représente une méthode non static voidShared , (en Visual Basic) qui prend deux arguments, il s’agit de la méthode d’implémentation pour le nœud.If method is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method for the node.

  • Sinon, si la Type propriété left de ou right représente un type défini par l’utilisateur qui surcharge l’opérateur de décalage vers la droite, le MethodInfo qui représente cette méthode est la méthode d’implémentation.Otherwise, if the Type property of either left or right represents a user-defined type that overloads the right-shift operator, the MethodInfo that represents that method is the implementing method.

  • Sinon, si left. Le type est un type intégral (un Byte UInt16 Int32 UInt64 ,,right,,,, ,oulestypesNullablecorrespondants)et.Int64 SByte Int16 UInt32 Le type Int32est, la méthode d' nullimplémentation est.Otherwise, if left.Type is an integral type (one of Byte, SByte, Int16, UInt16, Int32, UInt32, Int64, UInt64, or the corresponding nullable types) and right.Type is Int32, the implementing method is null.

Type de nœud, levé et non levéNode Type and Lifted versus Non-Lifted

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

  • Si left. Tapez et right. Le type peuvent être assignés aux types d’arguments correspondants de la méthode d’implémentation, le nœud n’est pas levé.If left.Type and right.Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. Le type du nœud est le type de retour de la méthode d’implémentation.The type of the node is the return type of the implementing method.

  • Si les deux conditions suivantes sont satisfaites, 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 :If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method:

    • left. Tapez et right. Le type sont à la fois des types valeur dont au moins un est Nullable et les types non Nullable correspondants sont égaux aux types d’arguments correspondants de la méthode d’implémentation.left.Type and right.Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method.

    • Le type de retour de la méthode d’implémentation est un type valeur qui n’autorise pas les valeurs NULL.The return type of the implementing method is a non-nullable value type.

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

  • Si left. Tapez et right. Le type n’accepte pas les valeurs NULL, le nœud n’est pas levé.If left.Type and right.Type are both non-nullable, the node is not lifted. Le type du nœud est le type de résultat de l’opérateur de décalage vers la droite prédéfini.The type of the node is the result type of the predefined right-shift operator.

  • Si left. Tapez et right. Le type acceptant les valeurs NULL, le nœud est levé.If left.Type and right.Type are both nullable, the node is lifted. 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 droite prédéfini.The type of the node is the nullable type that corresponds to the result type of the predefined right-shift operator.

S’applique à