Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Proprietà SoapAttributeOverrides.Item (Type, String)

 

Data di pubblicazione: novembre 2016

Ottiene l'oggetto associato al tipo specificato (classe di base). Il member parametro specifica il membro di classe di base che viene eseguito l'override.

Spazio dei nomi:   System.Xml.Serialization
Assembly:  System.Xml (in System.Xml.dll)

public SoapAttributes this[
	Type type,
	string member
] { get; }

Parametri

type
Type: System.Type

La classe di base Type associato la raccolta di attributi che si desidera eseguire l'override.

member
Type: System.String

Il nome del membro sottoposto a override che specifica il SoapAttributes da restituire.

Valore proprietà

Type: System.Xml.Serialization.SoapAttributes

Oggetto SoapAttributes che rappresenta la raccolta di attributi viene sottoposto a override.

Utilizzare questo overload per restituire un SoapAttributes che contiene gli attributi che eseguono l'override un SoapAttributeAttribute, SoapElementAttribute, SoapIgnoreAttribute, o SoapEnumAttribute. È inoltre possibile restituire un SoapAttributes che contiene l'override del valore predefinito che utilizza un DefaultValueAttribute.

Se il SoapAttributes contiene un SoapTypeAttribute, è necessario utilizzare l'overload che specifica solo il tipo sottoposto a override.

Nell'esempio seguente viene creato un SoapAttributeOverrides utilizzato per eseguire l'override della serializzazione di un'istanza della Group classe. Viene inoltre utilizzata la Item proprietà per recuperare il SoapAttributes utilizzato per specificare la modalità di override della serializzazione.

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;
   }

}

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: