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.Return-Methode: (LabelTarget, Expression)

.NET Framework (current version)
 

Veröffentlicht: Oktober 2016

Erstellt eine GotoExpression, die eine Return-Anweisung darstellt. Der beim Springen an die Bezeichnung übergebene Wert kann angegeben werden.

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

public static GotoExpression Return(
	LabelTarget target,
	Expression value
)

Parameter

target
Type: System.Linq.Expressions.LabelTarget

Das LabelTarget, zu dem GotoExpression springt.

value
Type: System.Linq.Expressions.Expression

Der Wert, der beim Springen an die zugeordnete Bezeichnung übergeben wird.

Rückgabewert

Type: System.Linq.Expressions.GotoExpression

Eine GotoExpression, bei der Kind gleich "Continue" ist, die Target-Eigenschaft auf target festgelegt ist und beim Springen value an die Zielbezeichnung übergeben wird.

Im folgenden Beispiel wird veranschaulicht, wie einen Ausdruck zu erstellen, enthält die Return Methode.

// Add the following directive to the file:
// using System.Linq.Expressions;  

// A label expression of the void type that is the target for Expression.Return().
LabelTarget returnTarget = Expression.Label();

// This block contains a GotoExpression that represents a return statement with no value.
// It transfers execution to a label expression that is initialized with the same LabelTarget as the GotoExpression.
// The types of the GotoExpression, label expression, and LabelTarget must match.
BlockExpression blockExpr =
    Expression.Block(
        Expression.Call(typeof(Console).GetMethod("WriteLine", new Type[] { typeof(string) }), Expression.Constant("Return")),
        Expression.Return(returnTarget),
        Expression.Call(typeof(Console).GetMethod("WriteLine", new Type[] { typeof(string) }), Expression.Constant("Other Work")),
        Expression.Label(returnTarget)
    );

// The following statement first creates an expression tree,
// then compiles it, and then runs it.
Expression.Lambda<Action>(blockExpr).Compile()();

// This code example produces the following output:
//
// Return

// "Other Work" is not printed because 
// the Return expression transfers execution from Expression.Return(returnTarget)
// to Expression.Label(returnTarget).

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 4.0
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 4.0
Windows Phone Silverlight
Verfügbar seit 8.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: