Expression.LeftShift 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 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)
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
Le résultat BinaryExpression a la Method propriété 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 propriétés et IsLiftedToNull les IsLifted propriétés sont à la fois true
. Sinon, ils sont false
. 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 propriété de l’un Type ou
right
l’autreleft
représente un type défini par l’utilisateur qui surcharge l’opérateur de décalage gauche, celle 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 Byte, Int32UInt32SByteUInt16Int64Int16UInt64ou les types nullables correspondants) et .right
Type est Int32, la méthode d’implémentation estnull
.
Type de nœud et lifted versus non-lifted
Si la méthode d’implémentation n’est pas null
:
Si
left
. Tapez etright
. Le type est assignable 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 etright
. Le type est les deux types de valeur dont au moins un est nullable et les types non nullables correspondants sont égaux aux types d’argument correspondants de la méthode d’implémentation.Le type de retour de la méthode d’implémentation est un type de valeur non nullable.
Si la méthode d’implémentation est null
:
Si
left
. Tapez etright
. Le type n’est pas nullable, 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 gauche prédéfini.Si
left
. Tapez etright
. Le type est à la fois nullable, 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 gauche prédéfini.
S’applique à
LeftShift(Expression, Expression, MethodInfo)
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
Le résultat BinaryExpression a la Method propriété 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 propriétés et IsLiftedToNull les IsLifted propriétés sont à la fois true
. Sinon, ils sont false
. 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
ce n’est pasnull
le cas et qu’il représente un non-void,static
(Shared
dans Visual Basic) qui accepte deux arguments, il s’agit de la méthode d’implémentation du nœud.Sinon, si la propriété de l’un Type ou
right
l’autreleft
représente un type défini par l’utilisateur qui surcharge l’opérateur de décalage gauche, qui MethodInfo 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 Byte, Int32UInt32SByteUInt16Int64Int16UInt64ou les types nullables correspondants) et .right
Type est Int32, la méthode d’implémentation estnull
.
Type de nœud et lifted versus non-lifted
Si la méthode d’implémentation n’est pas null
:
Si
left
. Tapez etright
. Le type est assignable 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 etright
. Le type est les deux types de valeur dont au moins un est nullable et les types non nullables correspondants sont égaux aux types d’argument correspondants de la méthode d’implémentation.Le type de retour de la méthode d’implémentation est un type de valeur non nullable.
Si la méthode d’implémentation est null
:
Si
left
. Tapez etright
. Le type n’est pas nullable, 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 gauche prédéfini.Si
left
. Tapez etright
. Le type est à la fois nullable, 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 gauche prédéfini.