XmlAttributeOverrides.Item[] 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得表示覆寫屬性集合的物件。
多載
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
參數
屬性值
表示覆寫屬性集合的 XmlAttributes。
範例
下列範例會 XmlAttributeOverrides 建立 物件、 XmlAttributes 物件和 XmlRootAttribute 物件。 此範例會將 XmlRootAttribute 指派給 XmlRoot 物件的 屬性 XmlAttributes ,並將 物件新增 XmlAttributes 至 XmlAttributeOverrides 物件。 最後,此範例會將序列化類別的 傳遞 Type 至 XmlAttributeOverrides 物件,以取得 XmlAttributes 物件。 在此範例中 Type , 是 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
備註
使用此多載可傳回 XmlAttributes 物件,其中包含 或 XmlTypeAttribute 物件的屬性 XmlRootAttribute 。
XmlAttributes如果物件包含覆寫 XmlArrayAttribute 、 XmlArrayItemAttributeXmlElementAttribute 、、 XmlEnumAttribute 或 XmlAttributeAttribute 的物件,您必須使用指定覆寫成員和型別的多載。
另請參閱
適用於
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
參數
- member
- String
指定傳回 XmlAttributes 的覆寫成員名稱。
屬性值
表示覆寫屬性集合的 XmlAttributes。
範例
下列範例會 XmlAttributeOverrides 建立 物件、 XmlAttributes 、 和 XmlAttributeAttribute 物件。 此範例會將 XmlAttributeAttribute 指派給 XmlAttribute 物件的 屬性 XmlAttributes ,並將 物件新增 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 物件,其中包含覆寫 XmlArrayAttribute 、 XmlArrayItemAttribute 、 XmlAttributeAttribute 、 XmlElementAttribute 或 XmlEnumAttribute 的物件。 XmlAttributes如果物件包含 XmlRootAttribute 或 XmlTypeAttribute ,您必須使用只指定覆寫類型的多載。