XmlElementAttributes Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Representa uma coleção de XmlElementAttribute objetos usados para XmlSerializer substituir a forma padrão como serializa uma 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
- Herança
-
XmlElementAttributes
- Herança
- Implementações
Exemplos
O exemplo seguinte serializa a Transportation classe, que contém um único campo chamado Vehicles que devolve um ArrayList. O exemplo aplica primeiro duas instâncias da XmlElementAttribute classe ao Vehicles campo que especifica os tipos de objetos que insere XmlSerializer no array. O exemplo cria então dois XmlElementAttribute objetos para sobrepor o comportamento dos atributos aplicados à Vehicles propriedade. Os dois objetos sobrepostos são adicionados à XmlElementAttributes coleção de um XmlAttributes. Por fim, o exemplo adiciona o XmlAttributes a um XmlAttributeOverrides, permitindo inserir XmlSerializer os novos tipos de objetos no ArrayList retorno pelo Vehicles campo.
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
Observações
O XmlElementAttributes é devolvido pela XmlElements propriedade da XmlAttributes classe. Ao usar a XmlAttributeOverrides classe e a XmlAttributes classe, pode sobrepor a forma padrão como a XmlSerializer série é feita por uma classe.
Construtores
| Name | Description |
|---|---|
| XmlElementAttributes() |
Inicializa uma nova instância da XmlElementAttributes classe. |
Propriedades
| Name | Description |
|---|---|
| Capacity |
Obtém ou define o número de elementos que podem CollectionBase conter. (Herdado de CollectionBase) |
| Count |
Obtém o número de elementos contidos no ICollection. |
| Count |
Obtém o número de elementos contidos na CollectionBase instância. Esta propriedade não pode ser substituída. (Herdado de CollectionBase) |
| InnerList |
Obtém um ArrayList contendo a lista de elementos na CollectionBase instância. (Herdado de CollectionBase) |
| Item[Int32] |
Obtém ou define o elemento no índice especificado. |
| List |
Obtém um IList contendo a lista de elementos na CollectionBase instância. (Herdado de CollectionBase) |
Métodos
| Name | Description |
|---|---|
| Add(XmlElementAttribute) |
Acrescenta um XmlElementAttribute à coleção. |
| Clear() |
Remove todos os itens do IList. |
| Clear() |
Remove todos os objetos da CollectionBase instância. Este método não pode ser ultrapassado. (Herdado de CollectionBase) |
| Contains(XmlElementAttribute) |
Determina se a coleção contém o objeto especificado. |
| CopyTo(XmlElementAttribute[], Int32) |
Copia o XmlElementAttributes, ou uma parte dele para um array unidimensional. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetEnumerator() |
Devolve um enumerador que itera numa coleção. |
| GetEnumerator() |
Devolve um enumerador que itera pela CollectionBase instância. (Herdado de CollectionBase) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| IndexOf(XmlElementAttribute) |
Obtém o índice do especificado XmlElementAttribute. |
| Insert(Int32, XmlElementAttribute) |
Insere e XmlElementAttribute insere na coleção. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| OnClear() |
Realiza processos personalizados adicionais ao limpar o conteúdo da CollectionBase instância. (Herdado de CollectionBase) |
| OnClearComplete() |
Realiza processos personalizados adicionais após limpar o conteúdo da CollectionBase instância. (Herdado de CollectionBase) |
| OnInsert(Int32, Object) |
Realiza processos personalizados adicionais antes de inserir um novo elemento na CollectionBase instância. (Herdado de CollectionBase) |
| OnInsertComplete(Int32, Object) |
Executa processos personalizados adicionais após inserir um novo elemento na CollectionBase instância. (Herdado de CollectionBase) |
| OnRemove(Int32, Object) |
Realiza processos personalizados adicionais ao remover um elemento da CollectionBase instância. (Herdado de CollectionBase) |
| OnRemoveComplete(Int32, Object) |
Executa processos personalizados adicionais após remover um elemento da CollectionBase instância. (Herdado de CollectionBase) |
| OnSet(Int32, Object, Object) |
Realiza processos personalizados adicionais antes de definir um valor na CollectionBase instância. (Herdado de CollectionBase) |
| OnSetComplete(Int32, Object, Object) |
Executa processos personalizados adicionais após definir um valor na CollectionBase instância. (Herdado de CollectionBase) |
| OnValidate(Object) |
Realiza processos personalizados adicionais ao validar um valor. (Herdado de CollectionBase) |
| Remove(XmlElementAttribute) |
Remove o objeto especificado da coleção. |
| RemoveAt(Int32) |
Remove o IList item no índice especificado. |
| RemoveAt(Int32) |
Remove o elemento no índice especificado da CollectionBase instância. Este método não é ultrapassível. (Herdado de CollectionBase) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Copia os elementos do ICollection para um Array, começando num índice particular Array . |
| ICollection.CopyTo(Array, Int32) |
Copia a totalidade CollectionBase para uma unidimensional Arraycompatível , começando no índice especificado do array alvo. (Herdado de CollectionBase) |
| ICollection.IsSynchronized |
Recebe um valor que indica se o acesso ao ICollection é sincronizado (thread safe). |
| ICollection.IsSynchronized |
Recebe um valor que indica se o acesso ao CollectionBase é sincronizado (thread safe). (Herdado de CollectionBase) |
| ICollection.SyncRoot |
Obtém um objeto que pode ser usado para sincronizar o acesso ao ICollection. |
| ICollection.SyncRoot |
Obtém um objeto que pode ser usado para sincronizar o acesso ao CollectionBase. (Herdado de CollectionBase) |
| IList.Add(Object) |
Adiciona um item ao IList. |
| IList.Add(Object) |
Adiciona um objeto ao final do CollectionBase. (Herdado de CollectionBase) |
| IList.Contains(Object) |
Determina se o IList contém um valor específico. |
| IList.Contains(Object) |
Determina se o CollectionBase contém um elemento específico. (Herdado de CollectionBase) |
| IList.IndexOf(Object) |
Determina o índice de um item específico no IList. |
| IList.IndexOf(Object) |
Procura o especificado Object e devolve o índice baseado em zero da primeira ocorrência dentro de todo CollectionBaseo . (Herdado de CollectionBase) |
| IList.Insert(Int32, Object) |
Insere um item no IList índice especificado. |
| IList.Insert(Int32, Object) |
Insere um elemento no CollectionBase índice especificado. (Herdado de CollectionBase) |
| IList.IsFixedSize |
Obtém um valor que indica se o IList tem um tamanho fixo. |
| IList.IsFixedSize |
Obtém um valor que indica se o CollectionBase tem um tamanho fixo. (Herdado de CollectionBase) |
| IList.IsReadOnly |
Recebe um valor que indica se o IList é apenas de leitura. |
| IList.IsReadOnly |
Recebe um valor que indica se o CollectionBase é apenas de leitura. (Herdado de CollectionBase) |
| IList.Item[Int32] |
Obtém ou define o elemento no índice especificado. |
| IList.Item[Int32] |
Obtém ou define o elemento no índice especificado. (Herdado de CollectionBase) |
| IList.Remove(Object) |
Remove a primeira ocorrência de um objeto específico do IList. |
| IList.Remove(Object) |
Remove a primeira ocorrência de um objeto específico do CollectionBase. (Herdado de CollectionBase) |
Métodos da Extensão
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Permite a paralelização de uma consulta. |
| AsQueryable(IEnumerable) |
Converte um IEnumerable para um IQueryable. |
| Cast<TResult>(IEnumerable) |
Conjura os elementos de an IEnumerable para o tipo especificado. |
| OfType<TResult>(IEnumerable) |
Filtra os elementos de um IEnumerable com base num tipo especificado. |