Udostępnij za pośrednictwem


XmlAttributeOverrides.Item[] Właściwość

Definicja

Pobiera obiekt reprezentujący kolekcję atrybutów zastępowania.

Przeciążenia

Item[Type]

Pobiera obiekt skojarzony z określonym, klasą bazową, typem.

Item[Type, String]

Pobiera obiekt skojarzony z określonym typem (klasy bazowej). Parametr składowy określa składową klasy bazowej, która jest zastępowana.

Item[Type]

Pobiera obiekt skojarzony z określonym, klasą bazową, typem.

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

Parametry

type
Type

Klasa Type bazowa skojarzona z kolekcją atrybutów, które chcesz pobrać.

Wartość właściwości

XmlAttributes

Element XmlAttributes reprezentujący kolekcję atrybutów zastępowania.

Przykłady

Poniższy przykład tworzy XmlAttributeOverrides obiekt, XmlAttributes obiekt i XmlRootAttribute obiekt. Przykład przypisuje XmlRootAttribute właściwość do XmlRoot właściwości XmlAttributes obiektu i dodaje XmlAttributes obiekt do XmlAttributeOverrides obiektu. Na koniec przykład pobiera XmlAttributes obiekt przez przekazanie Type klasy serializowanej XmlAttributeOverrides do obiektu. W tym przykładzie parametr Type to Group.

// 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

Uwagi

Użyj tego przeciążenia, aby zwrócić XmlAttributes obiekt zawierający atrybuty obiektu XmlRootAttribute lub XmlTypeAttribute .

XmlAttributes Jeśli obiekt zawiera obiekty, które zastępują XmlArrayAttributeelement , , XmlArrayItemAttribute, XmlElementAttributeXmlEnumAttributelub XmlAttributeAttribute, należy użyć przeciążenia, które określa przesłoniętą składową, a także typ.

Zobacz też

Dotyczy

Item[Type, String]

Pobiera obiekt skojarzony z określonym typem (klasy bazowej). Parametr składowy określa składową klasy bazowej, która jest zastępowana.

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

Parametry

type
Type

Klasa Type bazowa skojarzona z kolekcją żądanych atrybutów.

member
String

Nazwa przesłoniętego elementu członkowskiego, który określa element XmlAttributes do zwrócenia.

Wartość właściwości

XmlAttributes

Element XmlAttributes reprezentujący kolekcję atrybutów zastępowania.

Przykłady

Poniższy przykład tworzy XmlAttributeOverrides obiekt, XmlAttributesobiekt i XmlAttributeAttribute obiekt . Przykład przypisuje XmlAttributeAttribute właściwość do XmlAttribute właściwości XmlAttributes obiektu i dodaje XmlAttributes obiekt do XmlAttributeOverrides obiektu. Na koniec przykład pobiera XmlAttributes obiekt, przekazując Type nazwę klasy serializowanej i składowej XmlAttributeOverrides do obiektu.

// 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

Uwagi

Użyj tego przeciążenia, aby zwrócić XmlAttributes obiekt zawierający obiekty, które zastępują XmlArrayAttributeobiekt , XmlArrayItemAttribute, , XmlAttributeAttribute, XmlElementAttributelub XmlEnumAttribute. XmlAttributes Jeśli obiekt zawiera obiekt XmlRootAttribute lub XmlTypeAttribute, należy użyć przeciążenia, które określa tylko typ przesłonięcia.

Zobacz też

Dotyczy