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.Negate-Methode: (Expression, MethodInfo)

 

Veröffentlicht: Oktober 2016

Erstellt eine UnaryExpression, die einen arithmetischen Negationsvorgang darstellt.

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

public static UnaryExpression Negate(
	Expression expression,
	MethodInfo method
)

Parameter

expression
Type: System.Linq.Expressions.Expression

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

method
Type: System.Reflection.MethodInfo

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

Rückgabewert

Type: System.Linq.Expressions.UnaryExpression

Ein UnaryExpression, bei dem die NodeType-Eigenschaft gleich Negate ist und die Operand-Eigenschaft sowie die Method-Eigenschaft auf die angegebenen Werte festgelegt sind.

Exception Condition
ArgumentNullException

expression ist null.

ArgumentException

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

InvalidOperationException

method ist null und der unäre minus-Operator ist nicht für expression. Geben Sie ein.

- oder -

expression. Typ (oder der entsprechende NULL-Typ ist ein Werttyp) kann nicht dem Argumenttyp der durch dargestellten Methode zugeordnet werden method.

Die Method -Eigenschaft der resultierenden UnaryExpression auf die implementierende Methode festgelegt ist. Die Type -Eigenschaft auf den Typ des Knotens festgelegt ist. Wenn der Knoten transformiert wird, die IsLifted und IsLiftedToNull Eigenschaften sind beide true. Andernfalls sind sie false.

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 ein Argument akzeptiert, ist die implementierende Methode für den Knoten.

  • Wenn expression. Typ ist ein vom benutzerdefinierten Typ, der unäre Operator definiert, die MethodInfo das darstellt, der Operator ist die implementierende Methode.

  • Andernfalls gilt: Wenn expression. Ist eine numerische Typ, die die implementierende Methode null.

Die implementierende Methode ist nicht null:

  • Wenn expression. Type kann dem Argumenttyp der implementierenden Methode zugeordnet werden, 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 und des Typs des Knotens Nullable-Typs, der in den Rückgabetyp der implementierenden Methode entspricht:

    • expression. Typ ist ein Werttyp und des entsprechende Typs der NULL-Wert gleich dem Argumenttyp der implementierenden Methode.

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

Wenn die implementierende Methode null, der Typ des Knotens ist expression. Geben Sie ein. Wenn expression. Type NULL-Werte zulässt, der Knoten nicht transformiert. Andernfalls ist der Knoten transformiert.

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 3.5
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
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: