XmlSerializer.FromTypes(Type[]) Method

Definition

Returns an array of XmlSerializer objects created from an array of types.

C#
public static System.Xml.Serialization.XmlSerializer[] FromTypes(Type[] types);
C#
public static System.Xml.Serialization.XmlSerializer?[] FromTypes(Type[]? types);
C#
public static System.Xml.Serialization.XmlSerializer[] FromTypes(Type[]? types);

Parameters

types
Type[]

An array of Type objects.

Returns

An array of XmlSerializer objects.

Examples

The following example uses the FromTypes method to return an array of XmlSerializer objects. The code includes three class definitions that are each used to create an array of Type objects.

C#
using System;
using System.IO;
using System.Xml.Serialization;

/* Three classes are included here. Each one will
be used to create three XmlSerializer objects. */

public class Instrument
{
   public string InstrumentName;
}

public class Player
{
   public string PlayerName;
}

public class Piece
{
   public string PieceName;
}

public class Test
{
   public static void Main()
   {
      Test t = new Test();
      t.GetSerializers();
   }

   public void GetSerializers()
   {
      // Create an array of types.
      Type[]types = new Type[3];
      types[0] = typeof(Instrument);
      types[1] = typeof(Player);
      types[2] = typeof(Piece);

      // Create an array for XmlSerializer objects.
      XmlSerializer[]serializers= new XmlSerializer[3];
      serializers = XmlSerializer.FromTypes(types);
      // Create one Instrument and serialize it.
      Instrument i = new Instrument();
      i.InstrumentName = "Piano";
      // Create a TextWriter to write with.
      TextWriter writer = new StreamWriter("Inst.xml");
      serializers[0].Serialize(writer,i);
      writer.Close();
   }
}

Remarks

The FromTypes method allows you to efficiently create an array of XmlSerializer objects for processing an array of Type objects. However, it is recommended for callers to cache the returned serializers when there are repeated calls to this method.

Applies to

Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

See also