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

Converter<TInput, TOutput> délégué

 

Date de publication : novembre 2016

Représente une méthode qui convertit un objet d’un type en un autre type.

Espace de noms:   System
Assembly:  mscorlib (dans mscorlib.dll)

public delegate TOutput Converter<in TInput, out TOutput>(
	TInput input
)

Paramètres

input
Type: TInput

Objet à convertir.

Valeur de retour

Type: TOutput

Le TOutput qui représente le texte converti TInput.

Paramètres de type

inTInput

Le type d’objet qui doit être converti.

outTOutput

L’objet d’entrée doit être converti en type.

Ce délégué est utilisé par le ConvertAll<TInput, TOutput> Procédé de la Array classe et le ConvertAll<TOutput> méthode de la List<T>classe convertir chaque élément de la collection d’un type à un autre.

Cette section contient deux exemples de code. Le premier montre le Converter<TInput, TOutput> délégué avec le ConvertAll<TInput, TOutput> méthode de la Array classe et le deuxième exemple présente le délégué avec le ConvertAll<TOutput> méthode de la List<T> classe générique.

Exemple 1

L’exemple de code suivant définit une méthode nommée PointFToPoint qui convertit un PointF structure un Point structure. L’exemple crée ensuite un tableau de PointF structures, crée un Converter<PointF, Point> Déléguer (Converter(Of PointF, Point) en Visual Basic) pour représenter le PointFToPoint (méthode) et passe le délégué à la ConvertAll<TInput, TOutput> (méthode). Le ConvertAll<TInput, TOutput> méthode passe chaque élément de la liste d’entrée à la PointFToPoint (méthode) et met les éléments convertis dans une nouvelle liste de Point des structures. Les deux listes sont affichées.

using System;
using System.Drawing;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        // Create an array of PointF objects.
        PointF[] apf = {
            new PointF(27.8F, 32.62F),
            new PointF(99.3F, 147.273F),
            new PointF(7.5F, 1412.2F) };

        // Display each element in the PointF array.
        Console.WriteLine();
        foreach( PointF p in apf )
            Console.WriteLine(p);

        // Convert each PointF element to a Point object.
        Point[] ap = Array.ConvertAll(apf, 
            new Converter<PointF, Point>(PointFToPoint));

        // Display each element in the Point array.
        Console.WriteLine();
        foreach( Point p in ap )
        {
            Console.WriteLine(p);
        }
    }

    public static Point PointFToPoint(PointF pf)
    {
        return new Point(((int) pf.X), ((int) pf.Y));
    }
}

/* This code example produces the following output:

{X=27.8, Y=32.62}
{X=99.3, Y=147.273}
{X=7.5, Y=1412.2}

{X=27,Y=32}
{X=99,Y=147}
{X=7,Y=1412}
 */

Exemple 2

L’exemple de code suivant définit une méthode nommée PointFToPoint qui convertit un PointF structure un Point structure. L’exemple crée ensuite un List<T> de PointF structures, crée un Converter<PointF, Point> Déléguer (Converter(Of PointF, Point) en Visual Basic) pour représenter le PointFToPoint (méthode) et passe le délégué à la ConvertAll<TOutput> (méthode). Le ConvertAll<TOutput> méthode passe chaque élément de la liste d’entrée à la PointFToPoint (méthode) et met les éléments convertis dans une nouvelle liste de Point des structures. Les deux listes sont affichées.

using System;
using System.Drawing;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        List<PointF> lpf = new List<PointF>();

        lpf.Add(new PointF(27.8F, 32.62F));
        lpf.Add(new PointF(99.3F, 147.273F));
        lpf.Add(new PointF(7.5F, 1412.2F));

        Console.WriteLine();
        foreach( PointF p in lpf )
        {
            Console.WriteLine(p);
        }

        List<Point> lp = lpf.ConvertAll( 
            new Converter<PointF, Point>(PointFToPoint));

        Console.WriteLine();
        foreach( Point p in lp )
        {
            Console.WriteLine(p);
        }
    }

    public static Point PointFToPoint(PointF pf)
    {
        return new Point(((int) pf.X), ((int) pf.Y));
    }
}

/* This code example produces the following output:

{X=27.8, Y=32.62}
{X=99.3, Y=147.273}
{X=7.5, Y=1412.2}

{X=27,Y=32}
{X=99,Y=147}
{X=7,Y=1412}
 */

.NET Framework
Disponible depuis 2.0
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Retour au début
Afficher: