SoapAttributeOverrides.Item[] Propriedade

Definição

Obtém um objeto que representa a coleção de atributos SOAP de substituição.

Sobrecargas

Item[Type]

Obtém o objeto associado ao tipo especificado (classe base).

Item[Type, String]

Obtém o objeto associado ao tipo especificado (classe base). O parâmetro member especifica o membro da classe base que é substituído.

Item[Type]

Obtém o objeto associado ao tipo especificado (classe base).

public System.Xml.Serialization.SoapAttributes? this[Type type] { get; }
public System.Xml.Serialization.SoapAttributes this[Type type] { get; }

Parâmetros

type
Type

A classe base Type associada à coleção de atributos que você deseja recuperar.

Valor da propriedade

SoapAttributes

Um SoapAttributes que representa a coleção de atributos de substituição.

Exemplos

O exemplo a seguir cria um SoapAttributeOverrides que é usado para substituir a serialização de uma instância da Group classe. O exemplo também usa a Item[] propriedade para recuperar a SoapAttributes que é usada para especificar como a serialização está sendo substituída.

using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;

// The name of this type will be overridden using
// the SoapTypeAttribute.
public class Group
{
   public string GroupName;
}

public class Run
{
   public static void Main()
   {
      Run test = new Run();

      test.SerializeOverride("GetSoapAttributes2.xml");
   }
   public void SerializeOverride(string filename)
   {
      // Create an instance of the XmlSerializer class
      // that overrides the serialization.
      XmlSerializer overRideSerializer = CreateOverrideSerializer();

      // Writing the file requires a TextWriter.
      TextWriter writer = new StreamWriter(filename);

      // Create an instance of the class that will be serialized.
      Group myGroup = new Group();

      // Set the object properties.
      myGroup.GroupName = ".NET";

      // Serialize the class, and close the TextWriter.
      overRideSerializer.Serialize(writer, myGroup);
       writer.Close();
   }

   private XmlSerializer CreateOverrideSerializer()
   {
      SoapAttributeOverrides mySoapAttributeOverrides =
      new SoapAttributeOverrides();
      SoapAttributes mySoapAttributes = new SoapAttributes();

      SoapTypeAttribute mySoapType = new SoapTypeAttribute();
      mySoapType.TypeName= "Team";
      mySoapAttributes.SoapType = mySoapType;
      // Add the SoapAttributes to the
      // mySoapAttributeOverridesrides object.
      mySoapAttributeOverrides.Add(typeof(Group), mySoapAttributes);
      // Get the SoapAttributes with the Item property.
      SoapAttributes thisSoapAtts =
      mySoapAttributeOverrides[typeof(Group)];
      Console.WriteLine("New serialized type name: " +
      thisSoapAtts.SoapType.TypeName);

      // Create an XmlTypeMapping that is used to create an instance
      // of the XmlSerializer. Then return the XmlSerializer object.
      XmlTypeMapping myMapping = (new SoapReflectionImporter(
      mySoapAttributeOverrides)).ImportTypeMapping(typeof(Group));
    
      XmlSerializer ser = new XmlSerializer(myMapping);
      return ser;
   }
}

Comentários

Use essa sobrecarga para retornar um SoapAttributes que contenha atributos para um SoapTypeAttribute.

Aplica-se a

.NET 7 e outras versões
Produto Versões
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1

Item[Type, String]

Obtém o objeto associado ao tipo especificado (classe base). O parâmetro member especifica o membro da classe base que é substituído.

public System.Xml.Serialization.SoapAttributes? this[Type type, string member] { get; }
public System.Xml.Serialization.SoapAttributes this[Type type, string member] { get; }

Parâmetros

type
Type

A classe base Type associada com a coleção de atributos que você deseja substituir.

member
String

O nome do membro substituído que especifica o SoapAttributes a ser retornado.

Valor da propriedade

SoapAttributes

Um SoapAttributes que representa a coleção de atributos de substituição.

Exemplos

O exemplo a seguir cria um SoapAttributeOverrides usado para substituir a serialização de uma instância da Group classe. O exemplo também usa a Item[] propriedade para recuperar a SoapAttributes que é usada para especificar como a serialização está sendo substituída.

using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;

public class Group
{
   // Override the serialization of this member.
   public string GroupName;
}

public class Run
{
   public static void Main()
   {
      Run test = new Run();

      test.SerializeOverride("GetSoapAttributes.xml");
   }
   public void SerializeOverride(string filename)
   {
      // Create an instance of the XmlSerializer class
      // that overrides the serialization.
      XmlSerializer overRideSerializer = CreateOverrideSerializer();

      // Writing the file requires a TextWriter.
      TextWriter writer = new StreamWriter(filename);

      // Create an instance of the class that will be serialized.
      Group myGroup = new Group();

      // Set the object properties.
      myGroup.GroupName = ".NET";

      // Serialize the class, and close the TextWriter.
      overRideSerializer.Serialize(writer, myGroup);
       writer.Close();
   }

   private XmlSerializer CreateOverrideSerializer()
   {
      SoapAttributeOverrides mySoapAttributeOverrides =
      new SoapAttributeOverrides();
      SoapAttributes mySoapAttributes = new SoapAttributes();

      SoapElementAttribute mySoapElement = new SoapElementAttribute();
      mySoapElement.ElementName = "TeamName";
      mySoapAttributes.SoapElement = mySoapElement;
      // Add the SoapAttributes to the
      // mySoapAttributeOverridesrides object.
      mySoapAttributeOverrides.Add(typeof(Group), "GroupName",
      mySoapAttributes);
      // Get the SoapAttributes with the Item property.
      SoapAttributes thisSoapAtts =
      mySoapAttributeOverrides[typeof(Group), "GroupName"];
      Console.WriteLine("New serialized element name: " +
      thisSoapAtts.SoapElement.ElementName);

      // Create an XmlTypeMapping that is used to create an instance
      // of the XmlSerializer. Then return the XmlSerializer object.
      XmlTypeMapping myMapping = (new SoapReflectionImporter(
      mySoapAttributeOverrides)).ImportTypeMapping(typeof(Group));
    
      XmlSerializer ser = new XmlSerializer(myMapping);
      return ser;
   }
}

Comentários

Use essa sobrecarga para retornar um SoapAttributes que contém atributos que substituem umSoapAttributeAttribute, SoapElementAttributeou SoapIgnoreAttributeSoapEnumAttribute. Você também pode retornar um SoapAttributes que contém a substituição de um valor padrão que usa um DefaultValueAttribute.

Se ele SoapAttributes contiver um SoapTypeAttribute, você deverá usar a sobrecarga que especifica apenas o tipo substituído.

Aplica-se a

.NET 7 e outras versões
Produto Versões
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1