XmlElementAttributes Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente une collection d’objets XmlElementAttribute utilisée par XmlSerializer pour substituer la sérialisation par défaut d’une classe.
public ref class XmlElementAttributes : System::Collections::IList
public ref class XmlElementAttributes : System::Collections::CollectionBase
public class XmlElementAttributes : System.Collections.IList
public class XmlElementAttributes : System.Collections.CollectionBase
type XmlElementAttributes = class
interface ICollection
interface IEnumerable
interface IList
type XmlElementAttributes = class
inherit CollectionBase
Public Class XmlElementAttributes
Implements IList
Public Class XmlElementAttributes
Inherits CollectionBase
- Héritage
-
XmlElementAttributes
- Héritage
- Implémente
Exemples
L’exemple suivant sérialise la Transportation
classe, qui contient un seul champ nommé Vehicles
qui retourne un ArrayList. L’exemple applique d’abord deux instances de la XmlElementAttribute classe au Vehicles
champ qui spécifie les types d’objets que les XmlSerializer insertions dans le tableau. L’exemple crée ensuite deux XmlElementAttribute objets pour remplacer le comportement des attributs appliqués à la Vehicles
propriété. Les deux objets substitués sont ajoutés à la XmlElementAttributes collection d’un XmlAttributes. Enfin, l’exemple ajoute le XmlAttributes à un XmlAttributeOverrides, ce qui permet XmlSerializer d’insérer les nouveaux types d’objets dans le ArrayList Vehicles
champ retourné.
#using <System.Xml.dll>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml::Serialization;
using namespace System::Collections;
using namespace System::Xml;
public ref class Car
{
public:
String^ Name;
};
public ref class Plane
{
public:
String^ Name;
};
public ref class Truck
{
public:
String^ Name;
};
public ref class Train
{
public:
String^ Name;
};
public ref class Transportation
{
public:
// Override these two XmlElementAttributes.
[XmlElement(Car::typeid),
XmlElement(Plane::typeid)]
ArrayList^ Vehicles;
};
XmlSerializer^ CreateOverrider()
{
// Create XmlAtrributes and XmlAttributeOverrides instances.
XmlAttributes^ attrs = gcnew XmlAttributes;
XmlAttributeOverrides^ xOver = gcnew XmlAttributeOverrides;
/* Create an XmlElementAttributes object to override
one of the attributes applied to the Vehicles property. */
XmlElementAttribute^ xElement1 = gcnew XmlElementAttribute( Truck::typeid );
// Add the XmlElementAttribute to the collection.
attrs->XmlElements->Add( xElement1 );
/* Create a second XmlElementAttribute and
add it to the collection. */
XmlElementAttribute^ xElement2 = gcnew XmlElementAttribute( Train::typeid );
attrs->XmlElements->Add( xElement2 );
/* Add the XmlAttributes to the XmlAttributeOverrides,
specifying the member to override. */
xOver->Add( Transportation::typeid, "Vehicles", attrs );
// Create the XmlSerializer, and return it.
XmlSerializer^ xSer = gcnew XmlSerializer( Transportation::typeid,xOver );
return xSer;
}
void SerializeObject( String^ filename )
{
// Create an XmlSerializer instance.
XmlSerializer^ xSer = CreateOverrider();
// Create the object.
Transportation^ myTransportation = gcnew Transportation;
/* Create two new, overriding objects that can be
inserted into the Vehicles array. */
myTransportation->Vehicles = gcnew ArrayList;
Truck^ myTruck = gcnew Truck;
myTruck->Name = "MyTruck";
Train^ myTrain = gcnew Train;
myTrain->Name = "MyTrain";
myTransportation->Vehicles->Add( myTruck );
myTransportation->Vehicles->Add( myTrain );
TextWriter^ writer = gcnew StreamWriter( filename );
xSer->Serialize( writer, myTransportation );
}
int main()
{
SerializeObject( "OverrideElement.xml" );
}
using System;
using System.IO;
using System.Xml.Serialization;
using System.Collections;
using System.Xml;
public class Transportation
{
// Override these two XmlElementAttributes.
[XmlElement(typeof(Car)),
XmlElement(typeof(Plane))]
public ArrayList Vehicles;
}
public class Car
{
public string Name;
}
public class Plane
{
public string Name;
}
public class Truck
{
public string Name;
}
public class Train
{
public string Name;
}
public class Test
{
public static void Main()
{
Test t = new Test();
t.SerializeObject("OverrideElement.xml");
}
public XmlSerializer CreateOverrider()
{
// Create XmlAtrributes and XmlAttributeOverrides instances.
XmlAttributes attrs = new XmlAttributes();
XmlAttributeOverrides xOver =
new XmlAttributeOverrides();
/* Create an XmlElementAttributes object to override
one of the attributes applied to the Vehicles property. */
XmlElementAttribute xElement1 =
new XmlElementAttribute(typeof(Truck));
// Add the XmlElementAttribute to the collection.
attrs.XmlElements.Add(xElement1);
/* Create a second XmlElementAttribute and
add it to the collection. */
XmlElementAttribute xElement2 =
new XmlElementAttribute(typeof(Train));
attrs.XmlElements.Add(xElement2);
/* Add the XmlAttributes to the XmlAttributeOverrides,
specifying the member to override. */
xOver.Add(typeof(Transportation), "Vehicles", attrs);
// Create the XmlSerializer, and return it.
XmlSerializer xSer = new XmlSerializer
(typeof(Transportation), xOver);
return xSer;
}
public void SerializeObject(string filename)
{
// Create an XmlSerializer instance.
XmlSerializer xSer = CreateOverrider();
// Create the object.
Transportation myTransportation =
new Transportation();
/* Create two new, overriding objects that can be
inserted into the Vehicles array. */
myTransportation.Vehicles = new ArrayList();
Truck myTruck = new Truck();
myTruck.Name = "MyTruck";
Train myTrain = new Train();
myTrain.Name = "MyTrain";
myTransportation.Vehicles.Add(myTruck);
myTransportation.Vehicles.Add(myTrain);
TextWriter writer = new StreamWriter(filename);
xSer.Serialize(writer, myTransportation);
}
}
Imports System.IO
Imports System.Xml.Serialization
Imports System.Collections
Imports System.Xml
Public Class Transportation
' Override these two XmlElementAttributes.
<XmlElement(GetType(Car)), _
XmlElement(GetType(Plane))> _
Public Vehicles As ArrayList
End Class
Public Class Car
Public Name As String
End Class
Public Class Plane
Public Name As String
End Class
Public Class Truck
Public Name As String
End Class
Public Class Train
Public Name As String
End Class
Public Class Test
Public Shared Sub Main()
Dim t As New Test()
t.SerializeObject("OverrideElement.xml")
End Sub
Public Function CreateOverrider() As XmlSerializer
' Create XmlAtrributes and XmlAttributeOverrides instances.
Dim attrs As New XmlAttributes()
Dim xOver As New XmlAttributeOverrides()
' Create an XmlElementAttributes object to override
' one of the attributes applied to the Vehicles property.
Dim xElement1 As New XmlElementAttribute(GetType(Truck))
' Add the XmlElementAttribute to the collection.
attrs.XmlElements.Add(xElement1)
' Create a second XmlElementAttribute and
' add it to the collection.
Dim xElement2 As New XmlElementAttribute(GetType(Train))
attrs.XmlElements.Add(xElement2)
' Add the XmlAttributes to the XmlAttributeOverrides,
' specifying the member to override.
xOver.Add(GetType(Transportation), "Vehicles", attrs)
' Create the XmlSerializer, and return it.
Dim xSer As New XmlSerializer(GetType(Transportation), xOver)
Return xSer
End Function
Public Sub SerializeObject(ByVal filename As String)
' Create an XmlSerializer instance.
Dim xSer As XmlSerializer = CreateOverrider()
' Create the object.
Dim myTransportation As New Transportation()
' Create two new, overriding objects that can be
' inserted into the Vehicles array.
myTransportation.Vehicles = New ArrayList()
Dim myTruck As New Truck()
myTruck.Name = "MyTruck"
Dim myTrain As New Train()
myTrain.Name = "MyTrain"
myTransportation.Vehicles.Add(myTruck)
myTransportation.Vehicles.Add(myTrain)
Dim writer As New StreamWriter(filename)
xSer.Serialize(writer, myTransportation)
End Sub
End Class
Remarques
La XmlElementAttributes propriété est retournée par la XmlElements propriété de la XmlAttributes classe. À l’aide de la classe et de la XmlAttributeOverrides XmlAttributes classe, vous pouvez remplacer la façon par défaut que la XmlSerializer sérialise une classe.
Constructeurs
XmlElementAttributes() |
Initialise une nouvelle instance de la classe XmlElementAttributes. |
Propriétés
Capacity |
Obtient ou définit le nombre d'éléments que CollectionBase peut contenir. (Hérité de CollectionBase) |
Count |
Obtient le nombre d’éléments contenus dans le ICollection. |
Count |
Obtient le nombre d'éléments contenus dans l'instance CollectionBase. Cette propriété ne peut pas être remplacée. (Hérité de CollectionBase) |
InnerList |
Obtient ArrayList contenant la liste des éléments dans l'instance de CollectionBase. (Hérité de CollectionBase) |
Item[Int32] |
Obtient ou définit l'élément au niveau de l'index spécifié. |
List |
Obtient IList contenant la liste des éléments dans l'instance de CollectionBase. (Hérité de CollectionBase) |
Méthodes
Add(XmlElementAttribute) |
Ajoute un XmlElementAttribute à la collection. |
Clear() |
Supprime tous les éléments de IList. |
Clear() |
Supprime tous les objets de l'instance de CollectionBase. Cette méthode ne peut pas être substituée. (Hérité de CollectionBase) |
Contains(XmlElementAttribute) |
Détermine si la collection contient l'objet spécifié. |
CopyTo(XmlElementAttribute[], Int32) |
Copie XmlElementAttributes ou une partie de celui-ci dans un tableau unidimensionnel. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetEnumerator() |
Retourne un énumérateur qui itère au sein d’une collection. |
GetEnumerator() |
Retourne un énumérateur qui itère au sein de l'instance CollectionBase. (Hérité de CollectionBase) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
IndexOf(XmlElementAttribute) |
Obtient l'index du XmlElementAttribute spécifié. |
Insert(Int32, XmlElementAttribute) |
Insère un XmlElementAttribute dans la collection. |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
OnClear() |
Effectue des traitements personnalisés supplémentaires pendant l’effacement du contenu de l’instance de CollectionBase. (Hérité de CollectionBase) |
OnClearComplete() |
Exécute des processus personnalisés supplémentaires après l'effacement du contenu de l'instance de CollectionBase. (Hérité de CollectionBase) |
OnInsert(Int32, Object) |
Exécute les processus personnalisés supplémentaires avant l'insertion d'un nouvel élément dans l'instance de CollectionBase. (Hérité de CollectionBase) |
OnInsertComplete(Int32, Object) |
Exécute les processus personnalisés supplémentaires après l'insertion d'un nouvel élément dans l'instance de CollectionBase. (Hérité de CollectionBase) |
OnRemove(Int32, Object) |
Exécute des processus personnalisés supplémentaires lors de la suppression d'un élément de l'instance de CollectionBase. (Hérité de CollectionBase) |
OnRemoveComplete(Int32, Object) |
Exécute des processus personnalisés supplémentaires après la suppression d'un élément de l'instance de CollectionBase. (Hérité de CollectionBase) |
OnSet(Int32, Object, Object) |
Exécute des processus personnalisés supplémentaires avant la définition d'une valeur dans l'instance de CollectionBase. (Hérité de CollectionBase) |
OnSetComplete(Int32, Object, Object) |
Exécute des processus personnalisés supplémentaires après la définition d'une valeur dans l'instance de CollectionBase. (Hérité de CollectionBase) |
OnValidate(Object) |
Exécute des processus personnalisés supplémentaires lors de la validation d'une valeur. (Hérité de CollectionBase) |
Remove(XmlElementAttribute) |
Supprime l'objet spécifié de la collection. |
RemoveAt(Int32) |
Supprime l'élément IList au niveau de l'index spécifié. |
RemoveAt(Int32) |
Supprime l'élément à l'index spécifié de l'instance de CollectionBase. Cette méthode n'est pas substituable. (Hérité de CollectionBase) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
ICollection.CopyTo(Array, Int32) |
Copie les éléments de ICollection dans Array, à partir d'un index particulier de Array. |
ICollection.CopyTo(Array, Int32) |
Copie l'ensemble de l'objet CollectionBase vers un objet Array unidimensionnel compatible, en commençant à l'index spécifié du tableau cible. (Hérité de CollectionBase) |
ICollection.IsSynchronized |
Obtient une valeur indiquant si l’accès à ICollection est synchronisé (thread-safe). |
ICollection.IsSynchronized |
Obtient une valeur indiquant si l’accès à CollectionBase est synchronisé (thread-safe). (Hérité de CollectionBase) |
ICollection.SyncRoot |
Obtient un objet qui peut être utilisé pour synchroniser l’accès à ICollection. |
ICollection.SyncRoot |
Obtient un objet qui peut être utilisé pour synchroniser l’accès à CollectionBase. (Hérité de CollectionBase) |
IList.Add(Object) |
Ajoute un élément à IList. |
IList.Add(Object) |
Ajoute un objet à la fin de la CollectionBase. (Hérité de CollectionBase) |
IList.Contains(Object) |
Détermine si IList contient une valeur spécifique. |
IList.Contains(Object) |
Détermine si CollectionBase contient un élément spécifique. (Hérité de CollectionBase) |
IList.IndexOf(Object) |
Détermine l'index d'un élément spécifique d'IList. |
IList.IndexOf(Object) |
Recherche le Object spécifié et retourne l’index de base zéro de la première occurrence dans l’ensemble du CollectionBase. (Hérité de CollectionBase) |
IList.Insert(Int32, Object) |
Insère un élément dans IList à l’index spécifié. |
IList.Insert(Int32, Object) |
Insère un élément dans la classe CollectionBase au niveau de l'index spécifié. (Hérité de CollectionBase) |
IList.IsFixedSize |
Obtient une valeur indiquant si IList est de taille fixe. |
IList.IsFixedSize |
Obtient une valeur indiquant si CollectionBase est de taille fixe. (Hérité de CollectionBase) |
IList.IsReadOnly |
Obtient une valeur indiquant si IList est en lecture seule. |
IList.IsReadOnly |
Obtient une valeur indiquant si CollectionBase est en lecture seule. (Hérité de CollectionBase) |
IList.Item[Int32] |
Obtient ou définit l'élément au niveau de l'index spécifié. |
IList.Item[Int32] |
Obtient ou définit l'élément au niveau de l'index spécifié. (Hérité de CollectionBase) |
IList.Remove(Object) |
Supprime la première occurrence d’un objet spécifique de IList. |
IList.Remove(Object) |
Supprime la première occurrence d’un objet spécifique de CollectionBase. (Hérité de CollectionBase) |
Méthodes d’extension
Cast<TResult>(IEnumerable) |
Effectue un cast des éléments d'un IEnumerable vers le type spécifié. |
OfType<TResult>(IEnumerable) |
Filtre les éléments d'un IEnumerable en fonction du type spécifié. |
AsParallel(IEnumerable) |
Active la parallélisation d'une requête. |
AsQueryable(IEnumerable) |
Convertit un IEnumerable en IQueryable. |