Equal Methode (Expression, Expression, Boolean, 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.Equal-Methode (Expression, Expression, Boolean, MethodInfo)

 

Erstellt eine BinaryExpression, die einen Gleichheitsvergleich darstellt. Die implementierende Methode kann angegeben werden.

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

public static BinaryExpression Equal(
	Expression left,
	Expression right,
	bool liftToNull,
	MethodInfo method
)

Parameter

left
Type: System.Linq.Expressions.Expression

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

right
Type: System.Linq.Expressions.Expression

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

liftToNull
Type: System.Boolean

true, um IsLiftedToNull auf true festzulegen, und false, um IsLiftedToNull auf false festzulegen.

method
Type: System.Reflection.MethodInfo

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

Rückgabewert

Type: System.Linq.Expressions.BinaryExpression

Eine BinaryExpression, bei der die NodeType-Eigenschaft gleich Equal ist und die Eigenschaften Left, Right, IsLiftedToNull und Method auf die angegebenen Werte festgelegt sind.

Exception Condition
ArgumentNullException

left oder right ist null.

ArgumentException

method ist nicht null und die Methode dar, gibt void, nicht static (Shared in Visual Basic), oder akzeptiert nicht genau zwei Argumente.

InvalidOperationException

method ist null und der Gleichheitsoperator ist für left. Typ und right. Geben Sie ein.

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 wird, die IsLifted Eigenschaft ist true und die IsLiftedToNull -Eigenschaft entspricht liftToNull. Andernfalls sind beide false. Die folgenden Informationen beschreiben die implementierende Methode und der Knotentyp und, ob ein Knoten transformiert wird.

Die folgenden Regeln bestimmen die implementierende Methode für den Vorgang.

  • Wenn method nicht null und stellt dar, eine nicht-Void static (Shared in Visual Basic) Methode, die zwei Argumente akzeptiert, ist die implementierende Methode.

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

  • Andernfalls ist die implementierende Methode null.

Die implementierende Methode ist nicht null:

  • Wenn left. Typ und right. Geben 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 beiden folgenden Bedingungen erfüllt sind, ist der Knoten transformiert; Der Typ des Knotens ist auch zulässig Boolean Wenn liftToNull ist true oder Boolean Wenn liftToNull ist false:

    • left. Typ und right. Sind beide Werttypen, von denen mindestens NULL ist zulässig, und die entsprechenden NULL-Typen sind gleich den entsprechenden Argumenttypen der implementierenden Methode.

    • Der Rückgabetyp der implementierenden Methode ist Boolean.

Wenn die implementierende Methode null:

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

  • Wenn left. Typ und right. Sind NULL-Werte zulassen, der Knoten transformiert wird. Der Typ des Knotens ist auf NULL festlegbar Boolean Wenn liftToNull ist true oder Boolean Wenn liftToNull ist false.

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