Expression.LeftShift Metoda

Definicja

Tworzy obiekt BinaryExpression , który reprezentuje bitową operację przesunięcia w lewo.

Przeciążenia

LeftShift(Expression, Expression)

Tworzy obiekt BinaryExpression , który reprezentuje bitową operację przesunięcia w lewo.

LeftShift(Expression, Expression, MethodInfo)

Tworzy obiekt BinaryExpression , który reprezentuje bitową operację przesunięcia w lewo.

LeftShift(Expression, Expression)

Tworzy obiekt BinaryExpression , który reprezentuje bitową operację przesunięcia w lewo.

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

Parametry

left
Expression

Element Expression do ustawiania Left właściwości równej.

right
Expression

Element Expression do ustawiania Right właściwości równej.

Zwraca

BinaryExpression

Właściwość BinaryExpression , która ma właściwość równą LeftShift NodeType i Left właściwości i Right ustawione na określone wartości.

Wyjątki

left lub right ma wartość null.

Operator przesunięcia w lewo nie jest zdefiniowany dla elementu left. Wpisz i right. Typu.

Uwagi

BinaryExpression Wynikowy Method obiekt ma właściwość ustawioną na metodę implementowania. Właściwość Type jest ustawiona na typ węzła. Jeśli węzeł zostanie zniesiony, IsLifted właściwości i IsLiftedToNull to true. W przeciwnym razie są to false. Właściwość Conversion to null.

Poniższe informacje opisują metodę implementowania, typ węzła i informację o tym, czy węzeł został zniesiony.

Metoda implementująca

Następujące reguły określają wybraną metodę implementowania dla operacji:

  • Type Jeśli właściwość left lub right reprezentuje typ zdefiniowany przez użytkownika, który przeciąża operator przesunięcia lewego, oznacza to, MethodInfo że metoda jest metodą implementowania.

  • W przeciwnym razie, jeśli left. Typ jest typem całkowitym (jednym z Bytetypów , , SByte, UInt32Int32UInt16Int64Int16, UInt64lub odpowiadających im typów dopuszczanych wartości null) i .right Typem jest Int32, metoda implementowania to null.

Typ węzła oraz węzły podniesione i niepodniesione

Jeśli metoda implementowania nie nulljest :

  • Jeśli left. Wpisz i right. Typ można przypisać do odpowiednich typów argumentów metody implementowania. Węzeł nie zostanie zniesiony. Typem węzła jest zwracany typ metody implementowania.

  • Jeśli zostaną spełnione następujące dwa warunki, węzeł zostanie zniesiony, a typ węzła jest typem dopuszczalnym do wartości null, który odpowiada zwracanemu typowi metody implementowania:

    • left. Wpisz i right. Typ to oba typy wartości, których co najmniej jeden jest dopuszczany do wartości null, a odpowiadające im typy niepuste są równe odpowiadającym typom argumentów metody implementowania.

    • Zwracany typ metody implementowania jest typem wartości innej niż null.

Jeśli metoda implementowania to null:

  • Jeśli left. Wpisz i right. Typ jest niepusty, a węzeł nie zostanie zniesiony. Typ węzła jest typem wyniku wstępnie zdefiniowanego operatora przesunięcia w lewo.

  • Jeśli left. Wpisz i right. Typ jest dopuszczany do wartości null. Węzeł zostanie zniesiony. Typ węzła to typ dopuszczający wartość null, który odpowiada typowi wyniku wstępnie zdefiniowanego operatora przesunięcia w lewo.

Dotyczy

LeftShift(Expression, Expression, MethodInfo)

Tworzy obiekt BinaryExpression , który reprezentuje bitową operację przesunięcia w lewo.

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

Parametry

left
Expression

Element Expression do ustawiania Left właściwości równej.

right
Expression

Element Expression do ustawiania Right właściwości równej.

method
MethodInfo

A MethodInfo , aby ustawić właściwość równą Method .

Zwraca

BinaryExpression

Właściwość BinaryExpression , która ma właściwość równą LeftShift NodeType i Left, Righti właściwości Method ustawione na określone wartości.

Wyjątki

left lub right ma wartość null.

methodnie null jest i metoda, która reprezentuje zwraca voidwartość , nie static jest (Shared w Visual Basic) lub nie bierze dokładnie dwóch argumentów.

method to null i operator przesunięcia w lewo nie jest zdefiniowany dla . left Wpisz i right. Typu.

Uwagi

BinaryExpression Wynikowy Method obiekt ma właściwość ustawioną na metodę implementowania. Właściwość Type jest ustawiona na typ węzła. Jeśli węzeł zostanie zniesiony, IsLifted właściwości i IsLiftedToNull to true. W przeciwnym razie są to false. Właściwość Conversion to null.

Poniższe informacje opisują metodę implementowania, typ węzła i informację o tym, czy węzeł został zniesiony.

Metoda implementująca

Następujące reguły określają wybraną metodę implementowania dla operacji:

  • Jeśli method nie null jest i reprezentuje niepustą metodę static (Shared w Visual Basic), która przyjmuje dwa argumenty, jest to metoda implementowania węzła.

  • W przeciwnym razie, jeśli Type właściwość left lub right reprezentuje typ zdefiniowany przez użytkownika, który przeciąża operator przesunięcia w lewo, oznacza to, MethodInfo że metoda jest metodą implementowania.

  • W przeciwnym razie, jeśli left. Typ jest typem całkowitym (jednym z Bytetypów , , SByte, UInt32Int32UInt16Int64Int16, UInt64lub odpowiadających im typów dopuszczanych wartości null) i .right Typem jest Int32, metoda implementowania to null.

Typ węzła oraz węzły podniesione i niepodniesione

Jeśli metoda implementowania nie nulljest :

  • Jeśli left. Wpisz i right. Typ można przypisać do odpowiednich typów argumentów metody implementowania. Węzeł nie zostanie zniesiony. Typem węzła jest zwracany typ metody implementowania.

  • Jeśli zostaną spełnione następujące dwa warunki, węzeł zostanie zniesiony, a typ węzła jest typem dopuszczalnym do wartości null, który odpowiada zwracanemu typowi metody implementowania:

    • left. Wpisz i right. Typ to oba typy wartości, których co najmniej jeden jest dopuszczany do wartości null, a odpowiadające im typy niepuste są równe odpowiadającym typom argumentów metody implementowania.

    • Zwracany typ metody implementowania jest typem wartości innej niż null.

Jeśli metoda implementowania to null:

  • Jeśli left. Wpisz i right. Typ jest niepusty, a węzeł nie zostanie zniesiony. Typ węzła jest typem wyniku wstępnie zdefiniowanego operatora przesunięcia w lewo.

  • Jeśli left. Wpisz i right. Typ jest dopuszczany do wartości null. Węzeł zostanie zniesiony. Typ węzła to typ dopuszczający wartość null, który odpowiada typowi wyniku wstępnie zdefiniowanego operatora przesunięcia w lewo.

Dotyczy