Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

XmlSerializer.FromTypes(Type[]) Method

Definition

Namespace:
System.Xml.Serialization
Assemblies:
System.Xml.dll, System.Xml.XmlSerializer.dll
Assemblies:
netstandard.dll, System.Xml.XmlSerializer.dll
Assembly:
System.Xml.XmlSerializer.dll
Assembly:
System.Xml.dll
Assembly:
netstandard.dll
Source:
XmlSerializer.cs
Source:
XmlSerializer.cs
Source:
XmlSerializer.cs
Source:
XmlSerializer.cs
Source:
XmlSerializer.cs

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

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

public:
 static cli::array <System::Xml::Serialization::XmlSerializer ^> ^ FromTypes(cli::array <Type ^> ^ types);
public static System.Xml.Serialization.XmlSerializer[] FromTypes(Type[] types);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("XML serializer relies on dynamic code generation which is not available with Ahead of Time compilation")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly")]
public static System.Xml.Serialization.XmlSerializer?[] FromTypes(Type[]? types);
public static System.Xml.Serialization.XmlSerializer[] FromTypes(Type[]? types);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly")]
public static System.Xml.Serialization.XmlSerializer[] FromTypes(Type[]? types);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly")]
public static System.Xml.Serialization.XmlSerializer?[] FromTypes(Type[]? types);
static member FromTypes : Type[] -> System.Xml.Serialization.XmlSerializer[]
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("XML serializer relies on dynamic code generation which is not available with Ahead of Time compilation")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly")>]
static member FromTypes : Type[] -> System.Xml.Serialization.XmlSerializer[]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly")>]
static member FromTypes : Type[] -> System.Xml.Serialization.XmlSerializer[]
Public Shared Function FromTypes (types As Type()) As XmlSerializer()

Parameters

types
Type[]

An array of Type objects.

Returns

An array of XmlSerializer objects.

Attributes

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.

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();
 t.GetSerializers();
 }

 public void GetSerializers()
 {
 // Create an array of types.
 Type[] types = [typeof(Instrument), typeof(Player), 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();
 }
}
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

Remarks

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

Applies to

See also


Feedback

Was this page helpful?