次の方法で共有


XmlAttributeOverrides.Item[] プロパティ

定義

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

オーバーロード

Item[Type]

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

Item[Type, String]

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

Item[Type]

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

public:
 property System::Xml::Serialization::XmlAttributes ^ default[Type ^] { System::Xml::Serialization::XmlAttributes ^ get(Type ^ type); };
public System.Xml.Serialization.XmlAttributes this[Type type] { get; }
public System.Xml.Serialization.XmlAttributes? this[Type type] { get; }
member this.Item(Type) : System.Xml.Serialization.XmlAttributes
Default Public ReadOnly Property Item(type As Type) As XmlAttributes

パラメーター

type
Type

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

プロパティ値

XmlAttributes

オーバーライドする側の属性のコレクションを表す XmlAttributes

次の例では、オブジェクト、XmlAttributesオブジェクト、およびオブジェクトをXmlRootAttribute作成XmlAttributeOverridesします。 この例では、オブジェクトのXmlRootAttributeプロパティにオブジェクトをXmlAttributesXmlRoot割り当て、オブジェクトにXmlAttributesオブジェクトをXmlAttributeOverrides追加します。 最後に、この例では、シリアル化されたクラスをオブジェクトにType渡すことで、オブジェクトをXmlAttributeOverrides取得XmlAttributesします。 この例では、次のようになりますTypeGroup

// This is the class that will be serialized.
public ref class Group
{
public:
   String^ GroupName;

   [XmlAttributeAttribute]
   int GroupCode;
};

public ref class Sample
{
public:
   XmlSerializer^ CreateOverrider()
   {
      // Create an XmlSerializer with overriding attributes.
      XmlAttributes^ attrs = gcnew XmlAttributes;
      XmlAttributeOverrides^ xOver = gcnew XmlAttributeOverrides;
      XmlRootAttribute^ xRoot = gcnew XmlRootAttribute;

      // Set a new Namespace and ElementName for the root element.
      xRoot->Namespace = "http://www.cpandl.com";
      xRoot->ElementName = "NewGroup";
      attrs->XmlRoot = xRoot;
      xOver->Add( Group::typeid, attrs );

      // Get the XmlAttributes object, based on the type.
      XmlAttributes^ tempAttrs;
      tempAttrs = xOver[ Group::typeid ];

      // Print the Namespace and ElementName of the root.
      Console::WriteLine( tempAttrs->XmlRoot->Namespace );
      Console::WriteLine( tempAttrs->XmlRoot->ElementName );
      XmlSerializer^ xSer = gcnew XmlSerializer( Group::typeid,xOver );
      return xSer;
   }
};
// This is the class that will be serialized.
public class Group
{
   public string GroupName;
   [XmlAttribute]
   public int GroupCode;
}

public class Sample
{
public XmlSerializer CreateOverrider()
{
   // Create an XmlSerializer with overriding attributes.
   XmlAttributes attrs = new XmlAttributes();
   XmlAttributeOverrides xOver = new XmlAttributeOverrides();

   XmlRootAttribute xRoot = new XmlRootAttribute();
   // Set a new Namespace and ElementName for the root element.
   xRoot.Namespace = "http://www.cpandl.com";
   xRoot.ElementName = "NewGroup";
   attrs.XmlRoot = xRoot;

   xOver.Add(typeof(Group), attrs);

   // Get the XmlAttributes object, based on the type.
   XmlAttributes tempAttrs;
   tempAttrs = xOver[typeof(Group)];

   // Print the Namespace and ElementName of the root.
   Console.WriteLine(tempAttrs.XmlRoot.Namespace);
   Console.WriteLine(tempAttrs.XmlRoot.ElementName);

   XmlSerializer xSer = new XmlSerializer(typeof(Group), xOver);
   return xSer;
}
}
' This is the class that will be serialized.
Public Class Group
    Public GroupName As String
    <XmlAttribute()> Public GroupCode As Integer
End Class

Public Class Sample
    
    Public Function CreateOverrider() As XmlSerializer
        ' Create an XmlSerializer with overriding attributes.
        Dim attrs As New XmlAttributes()
        Dim xOver As New XmlAttributeOverrides()
        
        Dim xRoot As New XmlRootAttribute()
        ' Set a new Namespace and ElementName for the root element.
        xRoot.Namespace = "http://www.cpandl.com"
        xRoot.ElementName = "NewGroup"
        attrs.XmlRoot = xRoot
        
        xOver.Add(GetType(Group), attrs)
        
        ' Get the XmlAttributes object, based on the type.
        Dim tempAttrs As XmlAttributes
        tempAttrs = xOver(GetType(Group))
        
        ' Print the Namespace and ElementName of the root.
        Console.WriteLine(tempAttrs.XmlRoot.Namespace)
        Console.WriteLine(tempAttrs.XmlRoot.ElementName)
        
        Dim xSer As New XmlSerializer(GetType(Group), xOver)
        Return xSer
    End Function
End Class

注釈

このオーバーロードを使用して、XmlAttributesまたはXmlTypeAttributeオブジェクトの属性を含むオブジェクトをXmlRootAttribute返します。

オブジェクトにXmlAttributesXmlEnumAttributeXmlArrayItemAttributeXmlElementAttributeオーバーライドされるメンバーとXmlAttributeAttribute型をXmlArrayAttribute指定するオーバーロードをオーバーライドするオブジェクトが含まれている場合は、そのオーバーロードを使用する必要があります。

こちらもご覧ください

適用対象

Item[Type, String]

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

public:
 property System::Xml::Serialization::XmlAttributes ^ default[Type ^, System::String ^] { System::Xml::Serialization::XmlAttributes ^ get(Type ^ type, System::String ^ member); };
public System.Xml.Serialization.XmlAttributes this[Type type, string member] { get; }
public System.Xml.Serialization.XmlAttributes? this[Type type, string member] { get; }
member this.Item(Type * string) : System.Xml.Serialization.XmlAttributes
Default Public ReadOnly Property Item(type As Type, member As String) As XmlAttributes

パラメーター

type
Type

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

member
String

返す XmlAttributes を指定する、オーバーライドされたメンバーの名前。

プロパティ値

XmlAttributes

オーバーライドする側の属性のコレクションを表す XmlAttributes

次の例では、オブジェクト、オブジェクトXmlAttributes、およびオブジェクトをXmlAttributeAttribute作成XmlAttributeOverridesします。 この例では、オブジェクトのXmlAttributeAttributeプロパティにオブジェクトをXmlAttributesXmlAttribute割り当て、オブジェクトをXmlAttributesオブジェクトにXmlAttributeOverrides追加します。 最後に、この例では、シリアル化されたクラスとメンバー名をオブジェクトに渡Typeすことで、オブジェクトをXmlAttributeOverrides取得XmlAttributesします。

// This is the class that will be serialized.
public ref class Group
{
public:
   String^ GroupName;

   [XmlAttributeAttribute]
   int GroupCode;
};

public ref class Sample
{
public:
   XmlSerializer^ CreateOverrider()
   {
      // Create an XmlSerializer with overriding attributes.
      XmlAttributeOverrides^ xOver = gcnew XmlAttributeOverrides;

      /* Create an XmlAttributeAttribute object and set the 
            AttributeName property. */
      XmlAttributeAttribute^ xAtt = gcnew XmlAttributeAttribute;
      xAtt->AttributeName = "Code";

      /* Create a new XmlAttributes object and set the 
            XmlAttributeAttribute object to the XmlAttribute property. */
      XmlAttributes^ attrs = gcnew XmlAttributes;
      attrs->XmlAttribute = xAtt;

      /* Add the XmlAttributes to the XmlAttributeOverrides object. The
            name of the overridden attribute must be specified. */
      xOver->Add( Group::typeid, "GroupCode", attrs );

      // Get the XmlAttributes object for the type and member.
      XmlAttributes^ tempAttrs;
      tempAttrs = xOver[Group::typeid, "GroupCode"];
      Console::WriteLine( tempAttrs->XmlAttribute->AttributeName );

      // Create the XmlSerializer instance and return it.
      XmlSerializer^ xSer = gcnew XmlSerializer( Group::typeid,xOver );
      return xSer;
   }
};
// This is the class that will be serialized.
public class Group
{
   public string GroupName;
   [XmlAttribute]
   public int GroupCode;
}

public class Sample
{
public XmlSerializer CreateOverrider()
{
   // Create an XmlSerializer with overriding attributes.
   XmlAttributeOverrides xOver = new XmlAttributeOverrides();

   /* Create an XmlAttributeAttribute object and set the
   AttributeName property. */
   XmlAttributeAttribute xAtt = new XmlAttributeAttribute();
   xAtt.AttributeName = "Code";

   /* Create a new XmlAttributes object and set the
   XmlAttributeAttribute object to the XmlAttribute property. */
   XmlAttributes attrs = new XmlAttributes();
   attrs.XmlAttribute = xAtt;

   /* Add the XmlAttributes to the XmlAttributeOverrides object. The
   name of the overridden attribute must be specified. */
   xOver.Add(typeof(Group), "GroupCode", attrs);

   // Get the XmlAttributes object for the type and member.
   XmlAttributes tempAttrs;
   tempAttrs = xOver[typeof(Group), "GroupCode"];
   Console.WriteLine(tempAttrs.XmlAttribute.AttributeName);

   // Create the XmlSerializer instance and return it.
   XmlSerializer xSer = new XmlSerializer(typeof(Group), xOver);
   return xSer;
}
}
' This is the class that will be serialized.
Public Class Group
    Public GroupName As String
    <XmlAttribute()> Public GroupCode As Integer
End Class

Public Class Sample
    
    Public Function CreateOverrider() As XmlSerializer
        ' Create an XmlSerializer with overriding attributes.
        Dim xOver As New XmlAttributeOverrides()
        
        ' Create an XmlAttributeAttribute object and set the
        ' AttributeName property. 
        Dim xAtt As New XmlAttributeAttribute()
        xAtt.AttributeName = "Code"
        
        ' Create a new XmlAttributes object and set the
        ' XmlAttributeAttribute object to the XmlAttribute property. 
        Dim attrs As New XmlAttributes()
        attrs.XmlAttribute = xAtt
        
        ' Add the XmlAttributes to the XmlAttributeOverrides object. The
        ' name of the overridden attribute must be specified. 
        xOver.Add(GetType(Group), "GroupCode", attrs)
                
        ' Get the XmlAttributes object for the type and member.
        Dim tempAttrs As XmlAttributes
        tempAttrs = xOver(GetType(Group), "GroupCode")
        Console.WriteLine(tempAttrs.XmlAttribute.AttributeName)
        
        ' Create the XmlSerializer instance and return it.
        Dim xSer As New XmlSerializer(GetType(Group), xOver)
        Return xSer
    End Function
End Class

注釈

、、、またはをオーバーライドするオブジェクトをXmlAttributes含むオブジェクトを返すには、XmlElementAttributeこのオーバーロードをXmlArrayAttributeXmlArrayItemAttribute使用しますXmlEnumAttributeXmlAttributeAttribute オブジェクトに XmlAttributes or がXmlTypeAttribute含まれているXmlRootAttribute場合は、オーバーライドされた型のみを指定するオーバーロードを使用する必要があります。

こちらもご覧ください

適用対象