SoapIncludeAttribute.Type プロパティ
オブジェクトをシリアル化または逆シリアル化するときに使用するオブジェクトの型を取得または設定します。
Public Property Type As Type
[C#]
public Type Type {get; set;}
[C++]
public: __property Type* get_Type();public: __property void set_Type(Type*);
[JScript]
public function get Type() : Type;public function set Type(Type);
プロパティ値
含めるオブジェクトの型。
解説
SoapIncludeAttribute の複数のインスタンスを、オブジェクトの配列 (オブジェクトのコレクションを格納した ArrayList) を返すフィールドまたはプロパティか、複数の型を返すことのできるオブジェクトを返すフィールドまたはプロパティに適用します。フィールドまたはプロパティに含める型ごとに、 Type を設定します。
使用例
[Visual Basic, C#] SoapIncludeAttribute を XML Web サービス メソッドに 2 回適用する例を次に示します。このメソッドは、オブジェクト型 Vehicle
(基本クラス) を返します。 SoapIncludeAttribute が適用されているため、このメソッドは Vehicle
クラスから派生したクラスのインスタンスを返すことができます。
<%@ WebService Language="VB" Class="Test" %>
Imports System
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Web.Services.Description
Imports System.Xml
Imports System.Xml.Schema
Imports System.Xml.Serialization
Imports System.Data
Public Class Test :
Inherits WebService
<WebMethod()> Public Function EchoString( _
<XmlElement(DataType:="string")> ByVal strval As String) _
As <XmlElement("MyTime", DataType:="time")> DateTime
Return DateTime.Now
End Function
<WebMethod(), SoapRpcMethod, SoapInclude(GetType(Car)), _
SoapInclude(GetType(Bike))> _
Public Function Vehicle (licenseNumber As string ) As Vehicle
If licenseNumber = "0" Then
Dim v As Vehicle = new Car()
v.licenseNumber = licenseNumber
return v
ElseIf licenseNumber = "1" Then
Dim v As Vehicle = new Bike()
v.licenseNumber = licenseNumber
return v
else
return Nothing
End If
End Function
End Class
<XmlRoot("NewVehicle")> _
public MustInherit Class Vehicle
public licenseNumber As String
public make As DateTime
End Class
public class Car
Inherits Vehicle
End Class
public Class Bike
Inherits Vehicle
End Class
[C#]
<%@ 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()]
[SoapRpcMethod]
[SoapInclude(typeof(Car)), SoapInclude(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 {
}
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: 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
参照
SoapIncludeAttribute クラス | SoapIncludeAttribute メンバ | System.Xml.Serialization 名前空間