次の方法で共有


XmlTypeAttribute クラス

この属性が適用された対象が XmlSerializer によってシリアル化されるときに生成される XML スキーマを制御します。

この型のすべてのメンバの一覧については、XmlTypeAttribute メンバ を参照してください。

System.Object
   System.Attribute
      System.Xml.Serialization.XmlTypeAttribute

<AttributeUsage(AttributeTargets.Class Or AttributeTargets.Struct _
   Or AttributeTargets.Enum Or AttributeTargets.Interface)>
Public Class XmlTypeAttribute   Inherits Attribute
[C#]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct |
   AttributeTargets.Enum | AttributeTargets.Interface)]
public class XmlTypeAttribute : Attribute
[C++]
[AttributeUsage(AttributeTargets::Class | AttributeTargets::Struct
   | AttributeTargets::Enum | AttributeTargets::Interface)]
public __gc class XmlTypeAttribute : public Attribute
[JScript]
public
   AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct |
   AttributeTargets.Enum | AttributeTargets.Interface)
class XmlTypeAttribute extends Attribute

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

XmlTypeAttribute は、 XmlSerializer がオブジェクトをシリアル化または逆シリアル化する方法を制御する一連の属性のうちの 1 つです。類似する属性の完全な一覧については、「 XML シリアル化を制御する属性 」を参照してください。

XmlTypeAttribute は、クラス、構造体、列挙体、またはインターフェイスの宣言に適用できます。

XmlTypeAttribute をクラスに適用し、XML 型の名前空間、XML 型名、および XML スキーマ ドキュメントにその型を含めるかどうかを指定します。 XmlTypeAttribute クラスのプロパティの設定結果を確認するには、アプリケーションをコンパイルして実行可能ファイルまたは DLL を生成し、生成されたファイルを XML スキーマ定義ツール (Xsd.exe) に渡します。ツールで、型定義を含むスキーマが書き込まれます。

メモ    IncludeInSchema プロパティを false に設定した場合、 XML スキーマ定義ツール (Xsd.exe) は、スキーマに型を含めません。既定では、各パブリック クラスに対して、XSD ツールは complexType とその型の要素を生成します。

属性の使用方法については、「 属性を使用したメタデータの拡張 」を参照してください。

メモ   コードでは、 XmlTypeAttribute の代わりに XmlType という短い語を使用できます。

使用例

[Visual Basic, C#, C++] XmlTypeAttribute が適用された 2 つのクラスの例を次に示します。

 
<XmlType(Namespace := "http://www.cpandl.com", _
 TypeName := "GroupMember")> _
Public Class Person
    Public Name As String
End Class

<XmlType(Namespace := "http://www.cohowinery.com", _
 TypeName := "GroupAddress")> _ 
Public Class Address
    
    Public Line1 As String
    Public Line2 As String
    Public City As String
    Public State As String
    Public Zip As String
End Class

Public Class Group
    Public Staff() As Person
    Public Manager As Person
    Public Location As Address
End Class


[C#] 
[XmlType(Namespace = "http://www.cpandl.com",
TypeName = "GroupMember")]
public class Person
{
   public string Name;
}

[XmlType(Namespace = "http://www.cohowinery.com",
TypeName = "GroupAddress")]
public class Address
{
   public string Line1;
   public string Line2;
   public string City;
   public string State;
   public string Zip;
}

public class Group
{
   public Person[] Staff;
   public Person Manager;
   public Address Location;
}


[C++] 
[XmlType(Namespace = S"http://www.cpandl.com",
TypeName = S"GroupMember")]
public __gc class Person
{
public:
   String* Name;
};

[XmlType(Namespace = S"http://www.cohowinery.com",
TypeName = S"GroupAddress")]
public __gc class Address
{
public:
   String* Line1;
   String* Line2;
   String* City;
   String* State;
   String* Zip;
};

public __gc class Group
{
public:
   Person* Staff[];
   Person* Manager;
   Address* Location;
};

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Xml.Serialization

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

アセンブリ: System.Xml (System.Xml.dll 内)

参照

XmlTypeAttribute メンバ | System.Xml.Serialization 名前空間 | XML シリアル化の概要 | XML シリアル化のオーバーライド | XmlAttributes | 属性を使用した XML シリアル化の制御 | XML シリアル化の例