XmlSerializer.FromTypes(Type[]) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zwraca tablicę obiektów utworzonych XmlSerializer na podstawie tablicy typów.
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()
Parametry
Zwraca
Tablica XmlSerializer obiektów.
- Atrybuty
Przykłady
W poniższym przykładzie użyto FromTypes metody , aby zwrócić tablicę XmlSerializer obiektów. Kod zawiera trzy definicje klas, które są używane do tworzenia tablicy Type obiektów.
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
Uwagi
Metoda FromTypes umożliwia efektywne tworzenie tablicy XmlSerializer obiektów do przetwarzania tablicy Type obiektów. Zaleca się jednak buforowanie zwracanych serializatorów w przypadku powtarzających się wywołań do tej metody.