XmlSerializer.FromTypes(Type[]) Metódus

Definíció

Egy típustömbből létrehozott objektumtömböt XmlSerializer ad vissza.

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()

Paraméterek

types
Type[]

Objektumok tömbje Type .

Válaszok

Objektumok tömbje XmlSerializer .

Attribútumok

Példák

Az alábbi példa egy objektumtömb FromTypes visszaadására használja a XmlSerializer metódust. A kód három osztálydefiníciót tartalmaz, amelyek mindegyike objektumtömb Type létrehozására szolgál.

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

Megjegyzések

A FromTypes módszer lehetővé teszi, hogy hatékonyan hozzon létre egy objektumtömböt XmlSerializer az objektumok tömbjének Type feldolgozásához. Javasoljuk azonban, hogy a hívók gyorsítótárazják a visszaadott szerializálókat, amikor ismétlődő hívások vannak ehhez a metódushoz.

A következőre érvényes:

Lásd még