(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Expression.RightShift-Methode (Expression, Expression)

Erstellt eine BinaryExpression, die eine bitweise Rechtsschiebeoperation darstellt.

Namespace:  System.Linq.Expressions
Assembly:  System.Core (in System.Core.dll)

public static BinaryExpression RightShift(
	Expression left,
	Expression right
)

Parameter

left
Typ: System.Linq.Expressions.Expression
Ein Expression, auf den die Left-Eigenschaft festgelegt werden soll.
right
Typ: System.Linq.Expressions.Expression
Ein Expression, auf den die Right-Eigenschaft festgelegt werden soll.

Rückgabewert

Typ: System.Linq.Expressions.BinaryExpression
Ein BinaryExpression, bei dem die NodeType-Eigenschaft gleich RightShift ist und die Left-Eigenschaft sowie die Right-Eigenschaft auf die angegebenen Werte festgelegt sind.

AusnahmeBedingung
ArgumentNullException

left oder right ist null.

InvalidOperationException

Der Rechtsschiebeoperator ist für left.Type und right.Type nicht definiert.

Bei der resultierenden BinaryExpression ist die Method-Eigenschaft auf die implementierende Methode festgelegt. Die Type-Eigenschaft ist auf den Typ des Knotens festgelegt. Wenn der Knoten transformiert ist, entspricht sowohl die IsLifted-Eigenschaft als auch die IsLiftedToNull-Eigenschaft true. Andernfalls entsprechen sie false. Die Conversion-Eigenschaft ist null.

In den folgenden Abschnitten werden die implementierende Methode und der Knotentyp beschrieben, und es wird angegeben, ob ein Knoten transformiert ist.

Bb360327.collapse_all(de-de,VS.110).gifImplementierende Methode

Die folgenden Regeln bestimmen die ausgewählte implementierende Methode für die Operation:

  • Wenn die Type-Eigenschaft von left oder right einen benutzerdefinierten Typ darstellt, der den Rechtsschiebeoperator überlädt, ist die MethodInfo, die diese Methode darstellt, die implementierende Methode.

  • Andernfalls gilt: Wenn left.Type ein ganzzahliger Typ (Byte, SByte, Int16, UInt16, Int32, UInt32, Int64, UInt64 oder die entsprechenden Typen, die NULL-Werte zulassen) und right.Type Int32 ist, ist die implementierende Methode null.

Bb360327.collapse_all(de-de,VS.110).gifKnotentyp, transformierte Knoten und nicht transformierte Knoten

Wenn die implementierende Methode nicht null ist, gilt Folgendes:

  • Wenn left.Type und right.Type den entsprechenden Argumenttypen der implementierenden Methode zugeordnet werden können, ist der Knoten nicht transformiert. Der Typ des Knotens ist der Rückgabetyp der implementierenden Methode.

  • Wenn die folgenden beiden Bedingungen erfüllt werden, ist der Knoten transformiert und weist einen Typ auf, der NULL-Werte zulässt und dem Rückgabetyp der implementierenden Methode entspricht:

    • Sowohl left.Type als auch right.Type sind Werttypen, von denen mindestens einer NULL-Werte zulässt, und die entsprechenden Typen, die keine NULL-Werte zulassen, sind gleich den entsprechenden Argumenttypen der implementierenden Methode.

    • Der Rückgabetyp der implementierenden Methode ist ein Werttyp, der keine NULL-Werte zulässt.

Wenn die implementierende Methode null ist, gilt Folgendes:

  • Wenn weder left.Type noch right.Type NULL-Werte zulassen, ist der Knoten nicht transformiert. Der Typ des Knotens ist der Ergebnistyp des vordefinierten Rechtsschiebeoperators.

  • Wenn sowohl left.Type als auch right.Type NULL-Werte zulassen, ist der Knoten transformiert. Der Knoten weist einen Typ auf, der NULL-Werte zulässt und dem Ergebnistyp des vordefinierten Rechtsschiebeoperators entspricht.

.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft