Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Expression.Label méthode (Type)

 

Date de publication : novembre 2016

Crée un LabelTarget représentant une étiquette avec le type donné.

Espace de noms:   System.Linq.Expressions
Assembly:  System.Core (dans System.Core.dll)

public static LabelTarget Label(
	Type type
)

Paramètres

type
Type: System.Type

Type de valeur passée lors de l'accès à l'étiquette.

Valeur de retour

Type: System.Linq.Expressions.LabelTarget

Nouvelle LabelTarget.

L’exemple suivant montre comment utiliser un LabelTarget objet dans une expression de boucle.

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

// Creating a parameter expression.
ParameterExpression value = Expression.Parameter(typeof(int), "value");

// Creating an expression to hold a local variable. 
ParameterExpression result = Expression.Parameter(typeof(int), "result");

// Creating a label to jump to from a loop.
LabelTarget label = Expression.Label(typeof(int));

// Creating a method body.
BlockExpression block = Expression.Block(
    new[] { result },
    Expression.Assign(result, Expression.Constant(1)),
        Expression.Loop(
           Expression.IfThenElse(
               Expression.GreaterThan(value, Expression.Constant(1)),
               Expression.MultiplyAssign(result,
                   Expression.PostDecrementAssign(value)),
               Expression.Break(label, result)
           ),
       label
    )
);

// Compile and run an expression tree.
int factorial = Expression.Lambda<Func<int, int>>(block, value).Compile()(5);

Console.WriteLine(factorial);

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

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 4.0
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 4.0
Silverlight pour Windows Phone
Disponible depuis 8.0
Windows Phone
Disponible depuis 8.1
Retour au début
Afficher: