Export (0) Print
Expand All
Expand Minimize

Converter Generic Delegate

Note: This delegate is new in the .NET Framework version 2.0.

Represents a method that converts an object from one type to another type.

Namespace: System
Assembly: mscorlib (in mscorlib.dll)

generic<typename TInput, typename TOutput>
public delegate TOutput Converter (
	TInput input
)
J# supports the use of generic types and methods, but not the declaration of new ones.
JScript does not support generic types and methods.

Type Parameters

TInput

The type of object that is to be converted.

TOutput

The type the input object is to be converted to.

Parameters

input

The object to convert.

Return Value

The TOutput that represents the converted TInput.

This delegate is used by the ConvertAll method of the Array class and the ConvertAll method of the List class to convert each element of the collection from one type to another.

This section contains two code examples. The first demonstrates the Converter delegate with the ConvertAll method of the Array class, and the second demonstrates the delegate with the ConvertAll method of the List generic class.

Example 1

The following code example defines a method named PointFToPoint that converts a PointF structure to a Point structure. The example then creates an array of PointF structures, creates a Converter<PointF, Point> delegate (Converter(Of PointF, Point) in Visual Basic) to represent the PointFToPoint method, and passes the delegate to the ConvertAll method. The ConvertAll method passes each element of the input list to the PointFToPoint method and puts the converted elements into a new list of Point structures. Both lists are displayed.

No code example is currently available or this language may not be supported.

Example 2

The following code example defines a method named PointFToPoint that converts a PointF structure to a Point structure. The example then creates a List of PointF structures, creates a Converter<PointF, Point> delegate (Converter(Of PointF, Point) in Visual Basic) to represent the PointFToPoint method, and passes the delegate to the ConvertAll method. The ConvertAll method passes each element of the input list to the PointFToPoint method and puts the converted elements into a new list of Point structures. Both lists are displayed.

#using <System.Drawing.dll>

using namespace System;
using namespace System::Drawing;
using namespace System::Collections::Generic;

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

void main()
{
    List<PointF>^ lpf = gcnew List<PointF>();

    lpf->Add(PointF(27.8F, 32.62F));
    lpf->Add(PointF(99.3F, 147.273F));
    lpf->Add(PointF(7.5F, 1412.2F));

    Console::WriteLine();
    for each(PointF p in lpf)
    {
        Console::WriteLine(p);
    }

    List<Point>^ lp = 
        lpf->ConvertAll<Point>(
            gcnew Converter<PointF, Point>(PointFToPoint)
        );

    Console::WriteLine();
    for each(Point p in lp)
    {
        Console::WriteLine(p);
    }
}

/* 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}
 */

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0

.NET Compact Framework

Supported in: 2.0

Community Additions

ADD
Show:
© 2014 Microsoft