Expression.RightShift Metódus

Definíció

BinaryExpression Egy bitenkénti jobb műszakos műveletet jelképező műveletet hoz létre.

Túlterhelések

Name Description
RightShift(Expression, Expression)

BinaryExpression Egy bitenkénti jobb műszakos műveletet jelképező műveletet hoz létre.

RightShift(Expression, Expression, MethodInfo)

BinaryExpression Egy bitenkénti jobb műszakos műveletet jelképező műveletet hoz létre.

RightShift(Expression, Expression)

BinaryExpression Egy bitenkénti jobb műszakos műveletet jelképező műveletet hoz létre.

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

Paraméterek

left
Expression

Egy Expression a tulajdonság egyenlő értékének beállításához Left .

right
Expression

Egy Expression a tulajdonság egyenlő értékének beállításához Right .

Válaszok

Az BinaryExpression a tulajdonság, amelynek a NodeType tulajdonsága megegyezikRightShift, és Right a Left tulajdonságok a megadott értékekre vannak állítva.

Kivételek

left vagy right az null.

A jobb oldali shift operátor nincs definiálva a következőhöz left: . Írja be és right. Típus.

Megjegyzések

Az eredményként kapott BinaryExpression tulajdonság a Method implementálási módszerre van állítva. A Type tulajdonság a csomópont típusára van állítva. Ha a csomópont felemelkedik, a IsLifted és IsLiftedToNull tulajdonságok egyaránt true. Ellenkező esetben azok.false A Conversion tulajdonság null.

Az alábbi információk a implementálási módszert, a csomópont típusát és a csomópontok feloldását ismertetik.

Implementálási módszer

A művelethez a következő szabályok határozzák meg a kiválasztott implementálási módszert:

  • Ha egy Type felhasználó által definiált típus tulajdonsága left vagy right tulajdonsága túlterheli a jobb műszakos operátort, akkor az MethodInfo a metódus a implementálási módszer.

  • Ellenkező esetben, haleft. A típus egy integráltípus (az Byteegyik , SByte, Int16, , UInt16Int32, UInt32, , Int64, , UInt64vagy a megfelelő null értékű típus) és right. Típus: Int32a implementálási módszer.null

Csomópont típusa és emelt és nem emelt

Ha a végrehajtási módszer nem null:

  • Ha left. Típus és right. Típus hozzárendelhetőek az implementáló módszer megfelelő argumentumtípusaihoz, a csomópont nem kerül feloldásra. A csomópont típusa a implementálási módszer visszatérési típusa.

  • Ha a következő két feltétel teljesül, a csomópontot a rendszer feloldja, és a csomópont típusa az a null értékű típus, amely megfelel a implementálási módszer visszatérési típusának:

    • left.Típus és right.Típus egyaránt olyan értéktípus, amelyek közül legalább az egyik nullable, és a megfelelő nem null értékű típusok megegyeznek az implementáló metódus megfelelő argumentumtípusaival.

    • Az implementáló metódus visszatérési típusa egy nem-null értékkel rendelkező értéktípus.

Ha a implementálási módszer a következő null:

  • Ha left.Típus és right.Típus mindkettő nem null értékű, a csomópont nincs megemelve. A csomópont típusa az előre definiált jobb műszakos operátor eredménytípusa.

  • Ha left. Type és right. type mindkettő nullable típus, a csomópont fel van emelve. A csomópont típusa az előre definiált jobbeltolódási operátor eredménytípusának megfelelő null értékű típus.

A következőre érvényes:

RightShift(Expression, Expression, MethodInfo)

BinaryExpression Egy bitenkénti jobb műszakos műveletet jelképező műveletet hoz létre.

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

Paraméterek

left
Expression

Egy Expression a tulajdonság egyenlő értékének beállításához Left .

right
Expression

Egy Expression a tulajdonság egyenlő értékének beállításához Right .

method
MethodInfo

A MethodInfo érték a Method tulajdonság egyenlő értékének beállításához.

Válaszok

Az BinaryExpression a tulajdonság, amelynek NodeType a tulajdonsága megegyezik RightShift , és a Left, Rightés Method a tulajdonságok a megadott értékekre vannak állítva.

Kivételek

left vagy right az null.

method nem null és az általa képviselt metódus void, nem static (Shared Visual Basic), vagy nem vesz fel pontosan két argumentumot.

method van, null és a jobb shift operátor nincs definiálva a következőhöz left: . Írja be és right. Típus.

Megjegyzések

Az eredményként kapott BinaryExpression tulajdonság a Method implementálási módszerre van állítva. A Type tulajdonság a csomópont típusára van állítva. Ha a csomópont felemelkedik, a IsLifted és IsLiftedToNull tulajdonságok egyaránt true. Ellenkező esetben azok.false A Conversion tulajdonság null.

Az alábbi információk a implementálási módszert, a csomópont típusát és a csomópontok feloldását ismertetik.

Implementálási módszer

A művelethez a következő szabályok határozzák meg a kiválasztott implementálási módszert:

  • Ha method nem null, és nem üres, static (Shared Visual Basic) metódust jelöl, amely két argumentumot vesz fel, akkor ez a csomópont implementálási módszere.

  • Ellenkező esetben, ha egy Type felhasználó által definiált típus tulajdonsága leftright túlterheli a jobb oldali műszakos operátort, akkor az MethodInfo a metódus a implementálási módszer.

  • Ellenkező esetben, haleft. A típus egy integráltípus (az Byteegyik , SByte, Int16, , UInt16Int32, UInt32, , Int64, , UInt64vagy a megfelelő null értékű típus) és right. Típus: Int32a implementálási módszer.null

Csomópont típusa és emelt és nem emelt

Ha a végrehajtási módszer nem null:

  • Ha left. Típus és right. Típus hozzárendelhetőek az implementáló módszer megfelelő argumentumtípusaihoz, a csomópont nem kerül feloldásra. A csomópont típusa a implementálási módszer visszatérési típusa.

  • Ha a következő két feltétel teljesül, a csomópontot a rendszer feloldja, és a csomópont típusa az a null értékű típus, amely megfelel a implementálási módszer visszatérési típusának:

    • left.Típus és right.Típus egyaránt olyan értéktípus, amelyek közül legalább az egyik nullable, és a megfelelő nem null értékű típusok megegyeznek az implementáló metódus megfelelő argumentumtípusaival.

    • Az implementáló metódus visszatérési típusa egy nem-null értékkel rendelkező értéktípus.

Ha a implementálási módszer a következő null:

  • Ha left.Típus és right.Típus mindkettő nem null értékű, a csomópont nincs megemelve. A csomópont típusa az előre definiált jobb műszakos operátor eredménytípusa.

  • Ha left. Type és right. type mindkettő nullable típus, a csomópont fel van emelve. A csomópont típusa az előre definiált jobbeltolódási operátor eredménytípusának megfelelő null értékű típus.

A következőre érvényes: