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

Erstellt eine UnaryExpression, die eine bitweise Komplementoperation darstellt. Die implementierende Methode kann angegeben werden.

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

public static UnaryExpression Not(
	Expression expression,
	MethodInfo method
)

Parameter

expression
Typ: System.Linq.Expressions.Expression
Eine Expression, auf die die Operand-Eigenschaft festgelegt werden soll.
method
Typ: System.Reflection.MethodInfo
Ein MethodInfo, auf das die Method-Eigenschaft festgelegt werden soll.

Rückgabewert

Typ: System.Linq.Expressions.UnaryExpression
Eine UnaryExpression, bei der die NodeType-Eigenschaft gleich Not ist und die Operand-Eigenschaft sowie die Method-Eigenschaft auf die angegebenen Werte festgelegt sind.

AusnahmeBedingung
ArgumentNullException

expression 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 ein Argument.

InvalidOperationException

method ist null, und der unäre Not-Operator ist für expression.Type nicht definiert.

- oder -

expression.Type (oder, sofern der Typ NULL-Werte zulässt, der entsprechende Typ, der keine NULL-Werte zulässt) kann nicht dem Argumenttyp der durch method dargestellten Methode zugeordnet werden.

Die Method-Eigenschaft der resultierenden UnaryExpression ist 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.

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

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

  • Wenn method nicht null ist und eine static (Shared in Visual Basic) Nicht-void-Methode darstellt, die ein Argument akzeptiert, ist diese die implementierende Methode für den Knoten.

  • Wenn expression.Type ein benutzerdefinierter Typ ist, der den unären Not-Operator definiert, ist die MethodInfo, die diesen Operator darstellt, die implementierende Methode.

  • Andernfalls gilt: Wenn expression.Type ein numerischer Typ ist, ist die implementierende Methode null.

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

Wenn die implementierende Methode nicht null ist, gilt Folgendes:

  • Wenn expression.Type dem Argumenttyp der implementierenden Methode zugeordnet werden kann, 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:

    • expression.Type ist ein Werttyp, der NULL-Werte zulässt, und der entsprechende Werttyp, der keine NULL-Werte zulässt, entspricht dem Argumenttyp der implementierenden Methode.

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

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

.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