Expression.LeftShift Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
BinaryExpression Создает побитовую операцию сдвига влево.
Перегрузки
| Имя | Описание |
|---|---|
| LeftShift(Expression, Expression) |
BinaryExpression Создает побитовую операцию сдвига влево. |
| LeftShift(Expression, Expression, MethodInfo) |
BinaryExpression Создает побитовую операцию сдвига влево. |
LeftShift(Expression, Expression)
- Исходный код:
- BinaryExpression.cs
- Исходный код:
- BinaryExpression.cs
- Исходный код:
- BinaryExpression.cs
- Исходный код:
- BinaryExpression.cs
- Исходный код:
- BinaryExpression.cs
BinaryExpression Создает побитовую операцию сдвига влево.
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
Параметры
- left
- Expression
Значение Expression , равное свойству Left .
- right
- Expression
Значение Expression , равное свойству Right .
Возвращаемое значение
Значение BinaryExpression , равное свойству NodeTypeLeftShift и LeftRight свойствам, заданным указанным значениям.
Исключения
left или right есть null.
Оператор shift влево не определен для left. Тип и right. Тип.
Комментарии
Результирующий BinaryExpressionMethod объект имеет свойство, заданное для метода реализации. Свойство Type устанавливается в соответствии с типом узла. Если узел поднят, IsLifted и IsLiftedToNull свойства оба true. В противном случае они false. Свойство Conversion является null.
Ниже приведены сведения о методе реализации, типе узла и о том, будет ли снят узел.
Реализация метода
Следующие правила определяют выбранный метод реализации для операции:
Type Если свойство любого
leftилиrightпредставляет определяемый пользователем тип, который перегружает оператор shift влево, MethodInfo то этот метод представляет собой метод реализации.В противном случае , если
left. Тип — это целочисленный тип (один из Byte, SByte, UInt32Int32UInt16Int16, , UInt64Int64или соответствующие типы, допускающие значение NULL) и .rightТип : Int32методnullреализации.
Тип узла и снятый и не поднимаемый
Если метод реализации не null :
Если
left. Тип иright. Тип можно присвоить соответствующим типам аргументов реализующего метода, узел не поднимается. Тип узла — это возвращаемый тип метода реализации.Если выполнены следующие два условия, узел поднимается, а тип узла — это тип, допускающий значение NULL, соответствующий возвращаемому типу метода реализации:
left. Тип иright. Тип — это оба типа значений, для которых по крайней мере один имеет значение NULL, и соответствующие типы, не допускающие значения NULL, равны соответствующим типам аргументов метода реализации.Возвращаемый тип метода реализации — это ненулевой тип значения.
Если метод реализации имеет значение null:
Если
left.Тип иright.Тип оба не допускают значение NULL, узел не поднимается. Тип узла — это тип результата предопределенного оператора shift влево.Если тип
leftи типrightоба могут быть null, узел поднимается в более высокий уровень. Тип узла — это тип, допускающий значение NULL, соответствующий типу результата предопределенного оператора shift влево.
Применяется к
LeftShift(Expression, Expression, MethodInfo)
- Исходный код:
- BinaryExpression.cs
- Исходный код:
- BinaryExpression.cs
- Исходный код:
- BinaryExpression.cs
- Исходный код:
- BinaryExpression.cs
- Исходный код:
- BinaryExpression.cs
BinaryExpression Создает побитовую операцию сдвига влево.
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
Параметры
- left
- Expression
Значение Expression , равное свойству Left .
- right
- Expression
Значение Expression , равное свойству Right .
- method
- MethodInfo
Значение, MethodInfo равное свойству Method .
Возвращаемое значение
ЗначениеBinaryExpression, равное свойству NodeTypeLeftShift и LeftRightсвойству, Method заданному указанным значениям.
Исключения
left или right есть null.
method не null является и метод, представляющий возвращаемую, voidне static является (Shared в Visual Basic) или не принимает ровно два аргумента.
method значение is null , а оператор слева не определен для left. Тип и right. Тип.
Комментарии
Результирующий BinaryExpressionMethod объект имеет свойство, заданное для метода реализации. Свойство Type устанавливается в соответствии с типом узла. Если узел поднят, IsLifted и IsLiftedToNull свойства оба true. В противном случае они false. Свойство Conversion является null.
Ниже приведены сведения о методе реализации, типе узла и о том, будет ли снят узел.
Реализация метода
Следующие правила определяют выбранный метод реализации для операции:
Если
methodэто неnullтак,staticи он представляет непустый метод (Sharedв Visual Basic), который принимает два аргумента, это метод реализации для узла.В противном случае, если Type свойство любого
leftилиrightпредставляет определяемый пользователем тип, который перегружает оператор shift влево, MethodInfo то этот метод представляет собой метод реализации.В противном случае , если
left. Тип — это целочисленный тип (один из Byte, SByte, UInt32Int32UInt16Int16, , UInt64Int64или соответствующие типы, допускающие значение NULL) и .rightТип : Int32методnullреализации.
Тип узла и снятый и не поднимаемый
Если метод реализации не null :
Если
left. Тип иright. Тип можно присвоить соответствующим типам аргументов реализующего метода, узел не поднимается. Тип узла — это возвращаемый тип метода реализации.Если выполнены следующие два условия, узел поднимается, а тип узла — это тип, допускающий значение NULL, соответствующий возвращаемому типу метода реализации:
left. Тип иright. Тип — это оба типа значений, для которых по крайней мере один имеет значение NULL, и соответствующие типы, не допускающие значения NULL, равны соответствующим типам аргументов метода реализации.Возвращаемый тип метода реализации — это ненулевой тип значения.
Если метод реализации имеет значение null:
Если
left.Тип иright.Тип оба не допускают значение NULL, узел не поднимается. Тип узла — это тип результата предопределенного оператора shift влево.Если тип
leftи типrightоба могут быть null, узел поднимается в более высокий уровень. Тип узла — это тип, допускающий значение NULL, соответствующий типу результата предопределенного оператора shift влево.