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

Erstellt eine BinaryExpression, die eine arithmetische Addition mit Überlaufprüfung darstellt. Die implementierende Methode kann angegeben werden.

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

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

Parameter

left
Typ: System.Linq.Expressions.Expression
Ein Expression, auf das die Left-Eigenschaft festgelegt werden soll.
right
Typ: System.Linq.Expressions.Expression
Ein Expression, auf das die Right-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.BinaryExpression
Ein BinaryExpression, bei dem die NodeType-Eigenschaft gleich AddChecked ist und die Eigenschaften Left, Right und Method auf die angegebenen Werte festgelegt sind.

AusnahmeBedingung
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 Additionsoperator 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.

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

Die implementierende Methode für die Operation wird auf der Grundlage der folgenden Regeln ausgewählt:

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

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

  • Andernfalls gilt: Wenn left.Type und right.Type numerische Typen sind, ist die implementierende Methode null.

Bb336728.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 Knotentyp entspricht dem Ergebnistyp des vordefinierten Additionsoperators.

  • 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 Additionsoperators 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