This documentation is archived and is not being maintained.

XmlSerializer.FromTypes Method

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

[Visual Basic]
Public Shared Function FromTypes( _
   ByVal types() As Type _
) As XmlSerializer()
[C#]
public static XmlSerializer[] FromTypes(
 Type[] types
);
[C++]
public: static XmlSerializer* FromTypes(
 Type* types[]
) [];
[JScript]
public static function FromTypes(
   types : Type[]
) : XmlSerializer[];

Parameters

types
An array of Type objects.

Return Value

An array of XmlSerializer objects.

Remarks

The FromTypes method allows you to efficiently create an array of XmlSerializer objects for processing an array of Type objects.

Example

[Visual Basic, C#, C++] The following example uses the FromTypes method to return an array of XmlSerializer objects. The code includes three class definitions which are each used to create an array of Type objects.

[Visual Basic] 
Imports System
Imports System.IO
Imports System.Xml.Serialization


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

Public Class Instrument
    Public InstrumentName As String
End Class

Public Class Player
    Public PlayerName As String
End Class

Public Class Piece
    Public PieceName As String
End Class

Public Class Test
    
    Public Shared Sub Main()
        Dim t As New Test()
        t.GetSerializers()
    End Sub    
    
    Public Sub GetSerializers()
        ' Create an array of types.
        Dim types(3) As Type
        types(0) = GetType(Instrument)
        types(1) = GetType(Player)
        types(2) = GetType(Piece)
        
        ' Create an array for XmlSerializer objects.
        Dim serializers(3) As XmlSerializer
        serializers = XmlSerializer.FromTypes(types)
        ' Create one Instrument and serialize it.
        Dim i As New Instrument()
        i.InstrumentName = "Piano"
        ' Create a TextWriter to write with.
        Dim writer As New StreamWriter("Inst.xml")
        serializers(0).Serialize(writer, i)
        writer.Close()
    End Sub
End Class


[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();
   }
}


[C++] 
#using <mscorlib.dll>
#using <System.Xml.dll>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml::Serialization;

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

public __gc class Instrument
{
public:
   String* InstrumentName;
};

public __gc class Player
{
public:
   String* PlayerName;
};

public __gc class Piece
{
public:
   String* PieceName;
};

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 = S"Piano";
   // Create a TextWriter to write with.
   TextWriter* writer = new StreamWriter(S"Inst.xml");
   serializers[0]->Serialize(writer,i);
   writer->Close();
}

int main()
{
   GetSerializers();
}

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

XmlSerializer Class | XmlSerializer Members | System.Xml.Serialization Namespace | Introducing XML Serialization | Controlling XML Serialization Using Attributes | Examples of XML Serialization | The XML Schema Definition Tool and XML Serialization

Show: