XmlIncludeAttribute クラス
アセンブリ: System.Xml (system.xml.dll 内)

<AttributeUsageAttribute(AttributeTargets.Class Or AttributeTargets.Struct Or AttributeTargets.Method Or AttributeTargets.Interface, AllowMultiple:=True)> _ Public Class XmlIncludeAttribute Inherits Attribute
[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Method|AttributeTargets.Interface, AllowMultiple=true)] public class XmlIncludeAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Class|AttributeTargets::Struct|AttributeTargets::Method|AttributeTargets::Interface, AllowMultiple=true)] public ref class XmlIncludeAttribute : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Method|AttributeTargets.Interface, AllowMultiple=true) */ public class XmlIncludeAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Method|AttributeTargets.Interface, AllowMultiple=true) public class XmlIncludeAttribute extends Attribute

XmlSerializer クラスの Serialize メソッドまたは Deserialize メソッドを呼び出すときに、XmlIncludeAttribute を使用します。
XmlIncludeAttribute を適用するときには、派生クラスの Type を指定します。XmlSerializer は、基本クラスと派生クラスの両方を含むオブジェクトをシリアル化する場合は、両方のオブジェクト型を認識できます。
Web サービス記述言語 (WSDL: Web Services Description Language) で記述されたサービスの説明ドキュメントに派生クラスを含める場合は、XmlIncludeAttribute を使用します。たとえば、メソッドが Object を返す場合は、そのメソッドに XmlIncludeAttribute を適用し、実際に返される型を指定します。
WSDL の詳細については、W3C のサイト (www.w3.org) で『Web Services Description Language (WSDL) 1.1』を参照してください。

次の例では 3 つのクラスがあり、そのうち 2 つは 3 番目のクラスから継承したクラスです。この例では、1 つの派生クラスのインスタンスを返すメソッドに XmlIncludeAttribute を適用します。
<%@ WebService Language="C#" Class="Test" %> using System; using System.Web.Services; using System.Web.Services.Protocols; using System.Web.Services.Description; using System.Xml; using System.Xml.Schema; using System.Xml.Serialization; using System.Data; public class Test : WebService { [WebMethod()] [return:XmlElement("MyTime", DataType="time")] public DateTime EchoString([XmlElement(DataType="string")] string strval) { return DateTime.Now; } [WebMethod()] [XmlInclude(typeof(Car)), XmlInclude(typeof(Bike))] public Vehicle Vehicle(string licenseNumber) { if (licenseNumber == "0") { Vehicle v = new Car(); v.licenseNumber = licenseNumber; return v; } else if (licenseNumber == "1") { Vehicle v = new Bike(); v.licenseNumber = licenseNumber; return v; } else { return null; } } } [XmlRoot("NewVehicle")] public abstract class Vehicle { public string licenseNumber; public DateTime make; } public class Car : Vehicle { } public class Bike : Vehicle { }

System.Attribute
System.Xml.Serialization.XmlIncludeAttribute


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- XmlIncludeAttribute クラスのページへのリンク