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 プロパティと、指定した値に設定された RightShift プロパティおよび Left プロパティを含む Right

例外

left または rightnull です。

右シフト演算子は left.Type と right.Type には定義されていません。

注釈

結果 BinaryExpression のプロパティは Method 実装メソッドに設定されます。 この Type プロパティは、ノードの種類に設定されます。 ノードがリフトされた場合、 IsLifted プロパティと IsLiftedToNull プロパティは両方とも trueです。 それ以外の場合は false. Conversion プロパティが null です。

次の情報では、実装方法、ノードの種類、およびノードがリフトされるかどうかについて説明します。

実装方法

次の規則は、操作の選択した実装方法を決定します。

  • 右シフト演算子を Type オーバーロードするユーザー定義型のプロパティ left または right プロパティを表す場合は、 MethodInfo そのメソッドを表すメソッドが実装メソッドです。

  • それ以外の場合leftは 、型は整数型 (、ByteSByteInt16、、UInt16Int32Int64UInt64UInt32または対応する null 許容型のいずれか) および right.型はInt32、実装メソッドは null.

ノードの種類とリフトされたノードと非リフト

実装メソッドが次の条件を実行していない null場合:

  • If left.型と right.型は実装メソッドの対応する引数型に割り当て可能であり、ノードはリフトされません。 ノードの型は、実装メソッドの戻り値の型です。

  • 次の 2 つの条件が満たされている場合、ノードはリフトされ、ノードの型は実装メソッドの戻り値の型に対応する null 許容型です。

    • left.型と right.型は両方とも、少なくとも 1 つが null 許容であり、対応する null 非許容型が実装メソッドの対応する引数型と等しい値型です。

    • 実装メソッドの戻り値の型は null 非許容値型です。

実装方法が次の場合:null

  • If left.型と right.型はどちらも null 非許容であり、ノードはリフトされません。 ノードの型は、定義済みの右シフト演算子の結果の型です。

  • If left.型と right.型はどちらも null 許容であり、ノードはリフトされます。 ノードの型は、定義済みの右シフト演算子の結果の型に対応する null 許容型です。

適用対象

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 プロパティと、指定した値に設定された RightShiftLeft、および Right の各プロパティを含む Method

例外

left または rightnull です。

methodnull ではなく、それを表すメソッドは void を返し、static (Visual Basic では Shared) ではなく、またはちょうど 2 つの引数を受け取りません。

methodnull で、右シフト演算子は left.Type と right.Type には定義されていません。

注釈

結果 BinaryExpression のプロパティは Method 実装メソッドに設定されます。 この Type プロパティは、ノードの種類に設定されます。 ノードがリフトされた場合、 IsLifted プロパティと IsLiftedToNull プロパティは両方とも trueです。 それ以外の場合は false. Conversion プロパティが null です。

次の情報では、実装方法、ノードの種類、およびノードがリフトされるかどうかについて説明します。

実装方法

次の規則は、操作の選択した実装方法を決定します。

  • 存在せずnull、2 つの引数を受け取る非 void (Shared static Visual Basic) メソッドを表す場合methodは、ノードの実装メソッドです。

  • それ以外のleft場合、右シフト演算子をTypeオーバーロードするユーザー定義型のプロパティまたはrightユーザー定義型を表す場合は、MethodInfoそのメソッドを表すメソッドが実装メソッドになります。

  • それ以外の場合leftは 、型は整数型 (、ByteSByteInt16、、UInt16Int32Int64UInt64UInt32または対応する null 許容型のいずれか) および right.型はInt32、実装メソッドは null.

ノードの種類とリフトされたノードと非リフト

実装メソッドが次の条件を実行していない null場合:

  • If left.型と right.型は実装メソッドの対応する引数型に割り当て可能であり、ノードはリフトされません。 ノードの型は、実装メソッドの戻り値の型です。

  • 次の 2 つの条件が満たされている場合、ノードはリフトされ、ノードの型は実装メソッドの戻り値の型に対応する null 許容型です。

    • left.型と right.型は両方とも、少なくとも 1 つが null 許容であり、対応する null 非許容型が実装メソッドの対応する引数型と等しい値型です。

    • 実装メソッドの戻り値の型は null 非許容値型です。

実装方法が次の場合:null

  • If left.型と right.型はどちらも null 非許容であり、ノードはリフトされません。 ノードの型は、定義済みの右シフト演算子の結果の型です。

  • If left.型と right.型はどちらも null 許容であり、ノードはリフトされます。 ノードの型は、定義済みの右シフト演算子の結果の型に対応する null 許容型です。

適用対象