Expression.RightShift 메서드

정의

비트 오른쪽 시프트 연산을 나타내는 BinaryExpression을 만듭니다.

오버로드

RightShift(Expression, Expression)

비트 오른쪽 시프트 연산을 나타내는 BinaryExpression을 만듭니다.

RightShift(Expression, Expression, MethodInfo)

비트 오른쪽 시프트 연산을 나타내는 BinaryExpression을 만듭니다.

RightShift(Expression, Expression)

비트 오른쪽 시프트 연산을 나타내는 BinaryExpression을 만듭니다.

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

매개 변수

left
Expression

Expression 속성에 설정할 Left입니다.

right
Expression

Expression 속성에 설정할 Right입니다.

반환

BinaryExpression

BinaryExpression 속성이 NodeType이고 RightShiftLeft 속성이 지정된 값으로 설정된 Right입니다.

예외

left 또는 rightnull인 경우

left.Type 및 right.Type에 오른쪽 시프트 연산자가 정의되지 않은 경우

설명

결과에 BinaryExpressionMethod 구현 메서드로 설정된 속성이 있습니다. 속성은 Type 노드의 형식으로 설정됩니다. 노드가 해제되면 속성과 IsLiftedToNull 속성은 IsLifted 모두 true.입니다. 그렇지 않으면 다음과 같습니다 false. Conversion 속성은 null입니다.

다음 정보는 구현 방법, 노드 유형 및 노드 해제 여부를 설명합니다.

구현 방법

다음 규칙은 작업에 대해 선택한 구현 방법을 결정합니다.

  • Type 오른쪽 시프트 연산 MethodInfo 자를 오버로드하는 사용자 정의 형식 중 하나 left 또는 right 형식의 속성을 나타내는 경우 해당 메서드를 나타내는 속성은 구현 메서드입니다.

  • 그렇지 않으면 .left 형식은 정수 계열 형식(, ,SByte, UInt16Int16, Int32, UInt32, Int64UInt64또는 해당 nullable 형식 중 Byte하나) 및 right. 형식입니다. Int32구현 메서드는 .입니다null.

노드 유형 및 해제된 노드 및 해제되지 않은 노드

구현 메서드가 아닌 null경우:

  • If left. 형식 및 right. 형식은 구현 메서드의 해당 인수 형식에 할당할 수 있으며 노드는 해제되지 않습니다. 노드의 형식은 구현 메서드의 반환 형식입니다.

  • 다음 두 조건이 충족되면 노드가 해제되고 노드의 형식은 구현 메서드의 반환 형식에 해당하는 nullable 형식입니다.

    • left. 형식 및 right. 형식은 둘 다 하나 이상의 null 허용 값 형식이며 해당 nullable이 아닌 형식은 구현 메서드의 해당 인수 형식과 같습니다.

    • 구현 메서드의 반환 형식은 nullable이 아닌 값 형식입니다.

구현 메서드가 다음과 같은 경우:null

  • If left. 형식 및 right. 형식은 모두 null을 허용하지 않으며 노드는 해제되지 않습니다. 노드의 형식은 미리 정의된 오른쪽 시프트 연산자의 결과 형식입니다.

  • If left. 형식 및 right. 형식은 모두 nullable이고 노드는 해제됩니다. 노드의 형식은 미리 정의된 오른쪽 시프트 연산자의 결과 형식에 해당하는 nullable 형식입니다.

적용 대상

RightShift(Expression, Expression, MethodInfo)

비트 오른쪽 시프트 연산을 나타내는 BinaryExpression을 만듭니다.

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);
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

매개 변수

left
Expression

Expression 속성에 설정할 Left입니다.

right
Expression

Expression 속성에 설정할 Right입니다.

method
MethodInfo

MethodInfo 속성에 설정할 Method입니다.

반환

BinaryExpression

BinaryExpression 속성이 NodeType이고 RightShift, LeftRight 속성이 지정된 값으로 설정된 Method입니다.

예외

left 또는 rightnull인 경우

methodnull이 아니고 이것이 나타내는 메서드가 void를 반환하거나, static(Visual Basic의 Shared)이 아니거나, 정확히 두 개의 인수를 사용하지 않는 경우

methodnull이고 left.Type 및 right.Type에 오른쪽 시프트 연산자가 정의되지 않은 경우

설명

결과에 BinaryExpressionMethod 구현 메서드로 설정된 속성이 있습니다. 속성은 Type 노드의 형식으로 설정됩니다. 노드가 해제되면 속성과 IsLiftedToNull 속성은 IsLifted 모두 true.입니다. 그렇지 않으면 다음과 같습니다 false. Conversion 속성은 null입니다.

다음 정보는 구현 방법, 노드 유형 및 노드 해제 여부를 설명합니다.

구현 방법

다음 규칙은 작업에 대해 선택한 구현 방법을 결정합니다.

  • 그렇지 않고 null 두 개의 인수를 사용하는 비 void, static (SharedVisual Basic) 메서드를 나타내는 경우 method 노드에 대한 구현 메서드입니다.

  • 그렇지 않으면 Type 오른쪽 시프트 연산 MethodInfo 자를 오버로드하는 사용자 정의 형식을 left 나타내거나 right 해당 메서드를 나타내는 속성이 구현 메서드입니다.

  • 그렇지 않으면 .left 형식은 정수 계열 형식(, ,SByte, UInt16Int16, Int32, UInt32, Int64UInt64또는 해당 nullable 형식 중 Byte하나) 및 right. 형식입니다. Int32구현 메서드는 .입니다null.

노드 유형 및 해제된 노드 및 해제되지 않은 노드

구현 메서드가 아닌 null경우:

  • If left. 형식 및 right. 형식은 구현 메서드의 해당 인수 형식에 할당할 수 있으며 노드는 해제되지 않습니다. 노드의 형식은 구현 메서드의 반환 형식입니다.

  • 다음 두 조건이 충족되면 노드가 해제되고 노드의 형식은 구현 메서드의 반환 형식에 해당하는 nullable 형식입니다.

    • left. 형식 및 right. 형식은 둘 다 하나 이상의 null 허용 값 형식이며 해당 nullable이 아닌 형식은 구현 메서드의 해당 인수 형식과 같습니다.

    • 구현 메서드의 반환 형식은 nullable이 아닌 값 형식입니다.

구현 메서드가 다음과 같은 경우:null

  • If left. 형식 및 right. 형식은 모두 null을 허용하지 않으며 노드는 해제되지 않습니다. 노드의 형식은 미리 정의된 오른쪽 시프트 연산자의 결과 형식입니다.

  • If left. 형식 및 right. 형식은 모두 nullable이고 노드는 해제됩니다. 노드의 형식은 미리 정의된 오른쪽 시프트 연산자의 결과 형식에 해당하는 nullable 형식입니다.

적용 대상