SoapAttributeOverrides.Item[] Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает объект, представляющий коллекцию переопределяемых атрибутов SOAP.
Перегрузки
Item[Type] |
Получает объект, связанный с указанным типом (базового класса). |
Item[Type, String] |
Получает объект, связанный с указанным типом (базового класса). Параметр |
Item[Type]
- Исходный код:
- SoapAttributeOverrides.cs
- Исходный код:
- SoapAttributeOverrides.cs
- Исходный код:
- SoapAttributeOverrides.cs
Получает объект, связанный с указанным типом (базового класса).
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
Параметры
Значение свойства
SoapAttributes, который представляет коллекцию переопределяемых атрибутов.
Примеры
В следующем примере создается SoapAttributeOverrides объект , который используется для переопределения сериализации экземпляра Group
класса . В примере также используется Item[] свойство для получения SoapAttributes объекта , используемого для указания способа переопределения сериализации.
#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
Комментарии
Используйте эту перегрузку для возврата SoapAttributes объекта , содержащего атрибуты для SoapTypeAttribute.
Применяется к
Item[Type, String]
- Исходный код:
- SoapAttributeOverrides.cs
- Исходный код:
- SoapAttributeOverrides.cs
- Исходный код:
- SoapAttributeOverrides.cs
Получает объект, связанный с указанным типом (базового класса). Параметр member
указывает переопределенный член базового класса.
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
Параметры
- member
- String
Имя переопределяемого члена, указывающего SoapAttributes, который необходимо вернуть.
Значение свойства
SoapAttributes, который представляет коллекцию переопределяемых атрибутов.
Примеры
В следующем примере создается объект , используемый SoapAttributeOverrides для переопределения сериализации экземпляра Group
класса . В примере также используется Item[] свойство для получения SoapAttributes объекта , используемого для указания способа переопределения сериализации.
#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
Комментарии
Используйте эту перегрузку для возврата SoapAttributes , содержащего атрибуты, которые переопределяют SoapAttributeAttribute, SoapElementAttribute, SoapIgnoreAttributeили SoapEnumAttribute. Можно также вернуть объект , SoapAttributes содержащий переопределение значения по умолчанию, использующего DefaultValueAttribute.
SoapAttributes Если содержит SoapTypeAttribute, необходимо использовать перегрузку, указывающую только переопределенный тип.