Expression.Goto Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Skapar en GotoExpression som representerar en "gå till"-instruktion.
Överlagringar
| Name | Description |
|---|---|
| Goto(LabelTarget, Expression, Type) |
Skapar en GotoExpression som representerar en "gå till"-instruktion med den angivna typen. Det värde som skickas till etiketten vid hoppning kan anges. |
| Goto(LabelTarget, Type) |
Skapar en GotoExpression som representerar en "gå till"-instruktion med den angivna typen. |
| Goto(LabelTarget) |
Skapar en GotoExpression som representerar en "gå till"-instruktion. |
| Goto(LabelTarget, Expression) |
Skapar en GotoExpression som representerar en "gå till"-instruktion. Det värde som skickas till etiketten vid hoppning kan anges. |
Goto(LabelTarget, Expression, Type)
Skapar en GotoExpression som representerar en "gå till"-instruktion med den angivna typen. Det värde som skickas till etiketten vid hoppning kan anges.
public:
static System::Linq::Expressions::GotoExpression ^ Goto(System::Linq::Expressions::LabelTarget ^ target, System::Linq::Expressions::Expression ^ value, Type ^ type);
public static System.Linq.Expressions.GotoExpression Goto(System.Linq.Expressions.LabelTarget target, System.Linq.Expressions.Expression value, Type type);
static member Goto : System.Linq.Expressions.LabelTarget * System.Linq.Expressions.Expression * Type -> System.Linq.Expressions.GotoExpression
Public Shared Function Goto (target As LabelTarget, value As Expression, type As Type) As GotoExpression
Parametrar
- target
- LabelTarget
Det LabelTarget som viljan GotoExpression hoppar till.
- value
- Expression
Det värde som skickas till den associerade etiketten när du hoppar.
Returer
A GotoExpression med lika med Kind Goto, Target egenskapen inställd på target, Type egenskapen inställd på type, och value som ska skickas till måletiketten när du hoppar.
Gäller för
Goto(LabelTarget, Type)
Skapar en GotoExpression som representerar en "gå till"-instruktion med den angivna typen.
public:
static System::Linq::Expressions::GotoExpression ^ Goto(System::Linq::Expressions::LabelTarget ^ target, Type ^ type);
public static System.Linq.Expressions.GotoExpression Goto(System.Linq.Expressions.LabelTarget target, Type type);
static member Goto : System.Linq.Expressions.LabelTarget * Type -> System.Linq.Expressions.GotoExpression
Public Shared Function Goto (target As LabelTarget, type As Type) As GotoExpression
Parametrar
- target
- LabelTarget
Det LabelTarget som viljan GotoExpression hoppar till.
Returer
A GotoExpression med lika med Kind Goto, Target egenskapen inställd på det angivna värdet, Type egenskapen inställd på type, och ett null-värde som ska skickas till måletiketten när du hoppar.
Gäller för
Goto(LabelTarget)
Skapar en GotoExpression som representerar en "gå till"-instruktion.
public:
static System::Linq::Expressions::GotoExpression ^ Goto(System::Linq::Expressions::LabelTarget ^ target);
public static System.Linq.Expressions.GotoExpression Goto(System.Linq.Expressions.LabelTarget target);
static member Goto : System.Linq.Expressions.LabelTarget -> System.Linq.Expressions.GotoExpression
Public Shared Function Goto (target As LabelTarget) As GotoExpression
Parametrar
- target
- LabelTarget
Det LabelTarget som viljan GotoExpression hoppar till.
Returer
A GotoExpression med lika med Kind Goto, Target egenskapen inställd på det angivna värdet och ett null-värde som ska skickas till måletiketten när du hoppar.
Exempel
I följande exempel visas hur du skapar ett uttryck som innehåller ett GotoExpression objekt.
// Add the following directive to your file:
// using System.Linq.Expressions;
// A label expression of the void type that is the target for the GotoExpression.
LabelTarget returnTarget = Expression.Label();
// This block contains a GotoExpression.
// 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("GoTo")),
Expression.Goto(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:
//
// GoTo
// "Other Work" is not printed because
// the GoTo expression transfers execution from Expression.GoTo(returnTarget)
// to Expression.Label(returnTarget).
' Add the following directive to your file:
' Imports System.Linq.Expressions
' A label expression of the void type that is the target for the GoToExpression.
Dim returnTarget As LabelTarget = Expression.Label()
' This block contains a GotoExpression.
' 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.
Dim blockExpr As BlockExpression =
Expression.Block(
Expression.Call(GetType(Console).GetMethod("WriteLine", New Type() {GetType(String)}), Expression.Constant("GoTo")),
Expression.Goto(returnTarget),
Expression.Call(GetType(Console).GetMethod("WriteLine", New Type() {GetType(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(Of Action)(blockExpr).Compile()()
' This code example produces the following output:
'
' GoTo
' "Other Work" is not printed because
' the Return expression transfers execution from Expression.GoTo(returnTarget)
' to Expression.Label(returnTarget).
Gäller för
Goto(LabelTarget, Expression)
Skapar en GotoExpression som representerar en "gå till"-instruktion. Det värde som skickas till etiketten vid hoppning kan anges.
public:
static System::Linq::Expressions::GotoExpression ^ Goto(System::Linq::Expressions::LabelTarget ^ target, System::Linq::Expressions::Expression ^ value);
public static System.Linq.Expressions.GotoExpression Goto(System.Linq.Expressions.LabelTarget target, System.Linq.Expressions.Expression value);
static member Goto : System.Linq.Expressions.LabelTarget * System.Linq.Expressions.Expression -> System.Linq.Expressions.GotoExpression
Public Shared Function Goto (target As LabelTarget, value As Expression) As GotoExpression
Parametrar
- target
- LabelTarget
Det LabelTarget som viljan GotoExpression hoppar till.
- value
- Expression
Det värde som skickas till den associerade etiketten när du hoppar.
Returer
A GotoExpression med lika med Kind Goto, egenskapen Target inställd på target, och value som ska skickas till måletiketten när du hoppar.