SoapAttributeOverrides.Item[] Propriedade
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém um objeto que representa a coleção de atributos SOAP de substituição.
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 |
Item[Type]
Obtém o objeto associado ao tipo especificado (classe base).
public:
property System::Xml::Serialization::SoapAttributes ^ default[Type ^] { System::Xml::Serialization::SoapAttributes ^ get(Type ^ type); };
public System.Xml.Serialization.SoapAttributes? this[Type type] { get; }
public System.Xml.Serialization.SoapAttributes this[Type type] { get; }
member this.Item(Type) : System.Xml.Serialization.SoapAttributes
Default Public ReadOnly Property Item(type As Type) As SoapAttributes
Parâmetros
Valor da propriedade
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.Xml.dll>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Serialization;
// The name of this type will be overridden using
// the SoapTypeAttribute.
public ref class Group
{
public:
String^ GroupName;
};
public ref class Run
{
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 = gcnew StreamWriter( filename );
// Create an instance of the class that will be serialized.
Group^ myGroup = gcnew 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 = gcnew SoapAttributeOverrides;
SoapAttributes^ mySoapAttributes = gcnew SoapAttributes;
SoapTypeAttribute^ mySoapType = gcnew SoapTypeAttribute;
mySoapType->TypeName = "Team";
mySoapAttributes->SoapType = mySoapType;
// Add the SoapAttributes to the
// mySoapAttributeOverridesrides object.
mySoapAttributeOverrides->Add( Group::typeid, mySoapAttributes );
// Get the SoapAttributes with the Item property.
SoapAttributes^ thisSoapAtts = mySoapAttributeOverrides[ Group::typeid ];
Console::WriteLine( "New serialized type name: {0}", thisSoapAtts->SoapType->TypeName );
// Create an XmlTypeMapping that is used to create an instance
// of the XmlSerializer. Then return the XmlSerializer object.
XmlTypeMapping^ myMapping = (gcnew SoapReflectionImporter( mySoapAttributeOverrides ))->
ImportTypeMapping( Group::typeid );
XmlSerializer^ ser = gcnew XmlSerializer( myMapping );
return ser;
}
};
int main()
{
Run^ test = gcnew Run;
test->SerializeOverride( "GetSoapAttributes2.xml" );
}
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;
}
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Serialization
' The name of this type will be overridden using
' the SoapTypeAttribute.
Public Class Group
Public GroupName As String
End Class
Public Class Run
Shared Sub Main()
Dim test As Run = new Run()
test.SerializeOverride("GetSoapAttributesVB2.xml")
End Sub
Public Sub SerializeOverride(filename As string )
' Create an instance of the XmlSerializer class
' that overrides the serialization.
Dim overrideSerializer As XmlSerializer = _
CreateOverrideSerializer()
' Writing the file requires a TextWriter.
Dim writer As TextWriter = new StreamWriter(filename)
' Create an instance of the class that will be serialized.
Dim myGroup As Group = new Group()
' Set the object properties.
myGroup.GroupName = ".NET"
' Serialize the class, and close the TextWriter.
overrideSerializer.Serialize(writer, myGroup)
writer.Close()
End Sub
Private Function CreateOverrideSerializer() As XmlSerializer
Dim mySoapAttributeOverrides As SoapAttributeOverrides = _
New SoapAttributeOverrides()
Dim mySoapAtts As SoapAttributes = new SoapAttributes()
Dim mySoapType As SoapTypeAttribute = _
new SoapTypeAttribute()
mySoapType.TypeName = "Team"
mySoapAtts.SoapType = mySoapType
' Add the SoapAttributes to the
' mySoapAttributeOverridesrides object.
mySoapAttributeOverrides.Add(GetType(Group), mySoapAtts)
' Get the SoapAttributes with the Item property.
Dim thisSoapAtts As SoapAttributes = _
mySoapAttributeOverrides(GetType(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.
Dim myMapping As XmlTypeMapping = _
(New SoapReflectionImporter(mySoapAttributeOverrides)). _
ImportTypeMapping(GetType(Group))
Dim ser As XmlSerializer = new XmlSerializer(myMapping)
return ser
End Function
End Class
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:
property System::Xml::Serialization::SoapAttributes ^ default[Type ^, System::String ^] { System::Xml::Serialization::SoapAttributes ^ get(Type ^ type, System::String ^ member); };
public System.Xml.Serialization.SoapAttributes? this[Type type, string member] { get; }
public System.Xml.Serialization.SoapAttributes this[Type type, string member] { get; }
member this.Item(Type * string) : System.Xml.Serialization.SoapAttributes
Default Public ReadOnly Property Item(type As Type, member As String) As SoapAttributes
Parâmetros
- member
- String
O nome do membro substituído que especifica o SoapAttributes a ser retornado.
Valor da propriedade
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.Xml.dll>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Serialization;
public ref class Group
{
public:
// Override the serialization of this member.
String^ GroupName;
};
public ref class Run
{
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 = gcnew StreamWriter( filename );
// Create an instance of the class that will be serialized.
Group^ myGroup = gcnew 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 = gcnew SoapAttributeOverrides;
SoapAttributes^ mySoapAttributes = gcnew SoapAttributes;
SoapElementAttribute^ mySoapElement = gcnew SoapElementAttribute;
mySoapElement->ElementName = "TeamName";
mySoapAttributes->SoapElement = mySoapElement;
// Add the SoapAttributes to the
// mySoapAttributeOverridesrides object.
mySoapAttributeOverrides->Add( Group::typeid, "GroupName", mySoapAttributes );
// Get the SoapAttributes with the Item property.
SoapAttributes^ thisSoapAtts = mySoapAttributeOverrides[Group::typeid, "GroupName"];
Console::WriteLine( "New serialized element name: {0}", thisSoapAtts->SoapElement->ElementName );
// Create an XmlTypeMapping that is used to create an instance
// of the XmlSerializer. Then return the XmlSerializer object.
XmlTypeMapping^ myMapping = (gcnew SoapReflectionImporter( mySoapAttributeOverrides ))->
ImportTypeMapping( Group::typeid );
XmlSerializer^ ser = gcnew XmlSerializer( myMapping );
return ser;
}
};
int main()
{
Run^ test = gcnew Run;
test->SerializeOverride( "GetSoapAttributes.xml" );
}
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;
}
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Serialization
Public Class Group
' Override the serialization of this member.
Public GroupName As String
End Class
Public Class Run
Shared Sub Main()
Dim test As Run = new Run()
test.SerializeOverride("GetSoapAttributesVB.xml")
End Sub
Public Sub SerializeOverride(filename As string )
' Create an instance of the XmlSerializer class
' that overrides the serialization.
Dim overrideSerializer As XmlSerializer = _
CreateOverrideSerializer()
' Writing the file requires a TextWriter.
Dim writer As TextWriter = new StreamWriter(filename)
' Create an instance of the class that will be serialized.
Dim myGroup As Group = new Group()
' Set the object properties.
myGroup.GroupName = ".NET"
' Serialize the class, and close the TextWriter.
overrideSerializer.Serialize(writer, myGroup)
writer.Close()
End Sub
Private Function CreateOverrideSerializer() As XmlSerializer
Dim mySoapAttributeOverrides As SoapAttributeOverrides = _
New SoapAttributeOverrides()
Dim mySoapAtts As SoapAttributes = new SoapAttributes()
Dim mySoapElement As SoapElementAttribute = _
new SoapElementAttribute()
mySoapElement.ElementName = "TeamName"
mySoapAtts.SoapElement = mySoapElement
' Add the SoapAttributes to the
' mySoapAttributeOverridesrides object.
mySoapAttributeOverrides.Add(GetType(Group), "GroupName", _
mySoapAtts)
' Get the SoapAttributes with the Item property.
Dim thisSoapAtts As SoapAttributes = _
mySoapAttributeOverrides(GetType(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.
Dim myMapping As XmlTypeMapping = _
(New SoapReflectionImporter(mySoapAttributeOverrides)). _
ImportTypeMapping(GetType(Group))
Dim ser As XmlSerializer = new XmlSerializer(myMapping)
return ser
End Function
End Class
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 |