Converter Generic Delegate
Assembly: mscorlib (in mscorlib.dll)
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.
using System; using System.Drawing; using System.Collections.Generic; public class Example { public static void Main() { PointF[] apf = { new PointF(27.8F, 32.62F), new PointF(99.3F, 147.273F), new PointF(7.5F, 1412.2F) }; Console.WriteLine(); foreach( PointF p in apf ) { Console.WriteLine(p); } Point[] ap = Array.ConvertAll(apf, new Converter<PointF, Point>(PointFToPoint)); 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} */
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; 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} */
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.