XmlSerializer.FromTypes(Type[]) 方法

定义

返回 XmlSerializer 从类型数组创建的对象数组。

public:
 static cli::array <System::Xml::Serialization::XmlSerializer ^> ^ FromTypes(cli::array <Type ^> ^ types);
public static System.Xml.Serialization.XmlSerializer[] FromTypes(Type[] types);
static member FromTypes : Type[] -> System.Xml.Serialization.XmlSerializer[]
Public Shared Function FromTypes (types As Type()) As XmlSerializer()

参数

types
Type[]

一个 Type 对象数组。

返回

一个 XmlSerializer 对象数组。

示例

以下示例使用 FromTypes 该方法返回对象数组 XmlSerializer 。 该代码包括三个类定义,每个定义用于创建对象数组 Type

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

注解

使用 FromTypes 此方法可以有效地创建对象数组 XmlSerializer 来处理对象数组 Type 。 但是,当对此方法进行重复调用时,建议调用方缓存返回的序列化程序。

适用于

另请参阅