XmlSerializer.FromTypes(Type[]) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce una matrice di oggetti XmlSerializer creati da una matrice di tipi.
public:
static cli::array <System::Xml::Serialization::XmlSerializer ^> ^ FromTypes(cli::array <Type ^> ^ types);
public static System.Xml.Serialization.XmlSerializer[] FromTypes (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()
Parametri
Restituisce
Matrice di oggetti XmlSerializer.
Esempio
Nell'esempio seguente viene utilizzato il FromTypes metodo per restituire una matrice di XmlSerializer oggetti . Il codice include tre definizioni di classe usate per creare una matrice di Type oggetti.
#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 ref class Instrument
{
public:
String^ InstrumentName;
};
public ref class Player
{
public:
String^ PlayerName;
};
public ref class Piece
{
public:
String^ PieceName;
};
void GetSerializers()
{
// Create an array of types.
array<Type^>^types = gcnew array<Type^>(3);
types[ 0 ] = Instrument::typeid;
types[ 1 ] = Player::typeid;
types[ 2 ] = Piece::typeid;
// Create an array for XmlSerializer objects.
array<XmlSerializer^>^serializers = gcnew array<XmlSerializer^>(3);
serializers = XmlSerializer::FromTypes( types );
// Create one Instrument and serialize it.
Instrument^ i = gcnew Instrument;
i->InstrumentName = "Piano";
// Create a TextWriter to write with.
TextWriter^ writer = gcnew StreamWriter( "Inst.xml" );
serializers[ 0 ]->Serialize( writer, i );
writer->Close();
}
int main()
{
GetSerializers();
}
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();
}
}
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
Commenti
Il FromTypes metodo consente di creare in modo efficiente una matrice di oggetti per l'elaborazione di XmlSerializer una matrice di Type oggetti. Tuttavia, è consigliabile per i chiamanti memorizzare nella cache i serializzatori restituiti quando sono presenti chiamate ripetute a questo metodo.