LeftShift Methode (Expression, Expression, MethodInfo)
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern
Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Expression.LeftShift-Methode (Expression, Expression, MethodInfo)

 

Erstellt eine BinaryExpression, die eine bitweise Linksschiebeoperation darstellt.

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

public static BinaryExpression LeftShift(
	Expression left,
	Expression right,
	MethodInfo method
)

Parameter

left

Ein Expression, auf den die Left-Eigenschaft festgelegt werden soll.

right

Ein Expression, auf den die Right-Eigenschaft festgelegt werden soll.

method

Ein MethodInfo, auf das die Method-Eigenschaft festgelegt werden soll.

Rückgabewert

Type: System.Linq.Expressions.BinaryExpression

Ein BinaryExpression, bei dem die NodeType-Eigenschaft gleich LeftShift ist und die Eigenschaften Left, Right und Method auf die angegebenen Werte festgelegt sind.

Exception Condition
ArgumentNullException

left oder right ist null.

ArgumentException

method ist nicht null, und die dadurch dargestellte Methode gibt void zurück, ist nicht static (Shared in Visual Basic) oder akzeptiert nicht genau zwei Argumente.

InvalidOperationException

method ist null, und der Linksschiebeoperator ist für left.Type und right.Type nicht definiert.

Das resultierende BinaryExpression hat die Method -Eigenschaft auf die implementierende Methode festgelegt.Die Type -Eigenschaft auf den Typ des Knotens festgelegt ist.Wenn der Knoten transformiert ist, die IsLifted und IsLiftedToNull Eigenschaften sind beide true.Andernfalls sind sie false.Die Conversion-Eigenschaft ist null.

Die folgenden Informationen beschreiben die implementierende Methode und der Knotentyp und gibt an, ob ein Knoten transformiert wird.

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

  • Wenn method nicht null und stellt einen nicht-Void static (Shared in Visual Basic) Methode, die zwei Argumente akzeptiert, ist die implementierende Methode für den Knoten.

  • Andernfalls gilt: Wenn die Type Eigenschaft entweder left oder right einen benutzerdefinierten Typ darstellt, der den Linksschiebeoperator überlädt den MethodInfo die Methode darstellt, die implementierende Methode.

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

Wenn die implementierende Methode nicht null:

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

  • Wenn die beiden folgenden Bedingungen erfüllt sind, ist der Knoten transformiert, und der Typ des Knotens ist auf NULL festlegbaren Typs, der in den Rückgabetyp der implementierenden Methode entspricht:

    • left. Typ und right. Sind beide Werttypen, die mindestens eine NULL-Werte zulässt und die entsprechenden NULL-Typen gleich den entsprechenden Argumenttypen der implementierenden Methode.

    • Der Rückgabetyp der implementierenden Methode ist ein NULL-Wert.

Wenn die implementierende Methode null:

  • Wenn left. Typ und right. Sind NULL-Werte zulassen, der Knoten nicht transformiert.Der Typ des Knotens ist der Ergebnistyp des vordefinierten Linksschiebeoperator.

  • Wenn left. Typ und right. Sind NULL-Werte zulassen, der Knoten transformiert wird.Der Typ des Knotens ist Nullable-Typs, das den Ergebnistyp des vordefinierten Linksschiebeoperator entspricht.

Universal Windows Platform
Verfügbar seit 4.5
.NET Framework
Verfügbar seit 3.5
Portable Class Library
Unterstützt in: portable .NET platforms
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen:
© 2016 Microsoft