次の方法で共有


SoapAttributeOverrides.Item[] プロパティ

定義

オーバーライドする側の SOAP 属性のコレクションを表すオブジェクトを取得します。

オーバーロード

Item[Type]

指定された型 (基本クラス) に関連付けられているオブジェクトを取得します。

Item[Type, String]

指定された型 (基本クラス) に関連付けられているオブジェクトを取得します。 member パラメーターには、オーバーライドされる基本クラス メンバーを指定します。

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

パラメーター

type
Type

取得する属性のコレクションに関連付けられている基本クラスの Type

プロパティ値

オーバーライドする側の属性のコレクションを表す 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

パラメーター

type
Type

オーバーライドする対象の属性のコレクションに関連付けられている基本クラスの Type

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返すには、このオーバーロードをSoapIgnoreAttributeSoapAttributeAttributeSoapElementAttribute使用しますSoapEnumAttribute。 を使用DefaultValueAttributeする既定値のオーバーライドを含む を返SoapAttributesすこともできます。

SoapAttributesSoapTypeAttribute含まれている場合は、オーバーライドされた型のみを指定するオーバーロードを使用する必要があります。

適用対象