Freigeben über


SoapIncludeAttribute.Type-Eigenschaft

Ruft den Typ des Objekts ab, der bei der Serialisierung oder Deserialisierung eines Objekts verwendet werden soll, oder legt diesen fest.

Namespace: System.Xml.Serialization
Assembly: System.Xml (in system.xml.dll)

Syntax

'Declaration
Public Property Type As Type
'Usage
Dim instance As SoapIncludeAttribute
Dim value As Type

value = instance.Type

instance.Type = value
public Type Type { get; set; }
public:
property Type^ Type {
    Type^ get ();
    void set (Type^ value);
}
/** @property */
public Type get_Type ()

/** @property */
public void set_Type (Type value)
public function get Type () : Type

public function set Type (value : Type)

Eigenschaftenwert

Der Typ des aufzunehmenden Objekts.

Hinweise

Wenden Sie mehrere Instanzen des SoapIncludeAttribute auf ein Feld oder eine Eigenschaft an, das bzw. die entweder ein Array von Objekten, eine ArrayList mit einer Auflistung von Objekten oder ein Objekt enthält, das mehrere Typen zurückgeben kann. Legen Sie die Type-Eigenschaft für jeden Typ fest, den das Feld oder die Eigenschaft enthalten soll.

Beispiel

Im folgenden Beispiel wird SoapIncludeAttribute einer XML-Webdienstmethode zweimal zugewiesen. Die Methode gibt ein Objekt vom Typ Vehicle zurück (eine Basisklasse). Das SoapIncludeAttribute ermöglicht es der Methode, von der Vehicle-Klasse abgeleitete Instanzen von Klassen zurückzugeben.

<%@ 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
   
<%@ 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 {
}
   
<%@ WebService Language="VJ#" Class="Test" %>
import System.*;
import System.Web.Services.*;
import System.Web.Services.Protocols.*;
import System.Web.Services.Description.*;
import System.Xml.*;
import System.Xml.Schema.*;
import System.Xml.Serialization.*;
import System.Data.*;

public class Test extends WebService
{
    /** @attribute WebMethod()
     */
    public DateTime EchoString(
        /** @attribute XmlElement(DataType = "string")
         */
        String strval)
    {
        return DateTime.get_Now();
    } //EchoString

    /** @attribute WebMethod()
     */
    /** @attribute SoapRpcMethod()
     */
    /** @attribute SoapInclude(Car.class)
        @attribute SoapInclude(Bike.class)
     */
    public Vehicle Vehicle(String licenseNumber)
    {
        if (licenseNumber.Equals("0")) {
            Vehicle v = new Car();
            v.licenseNumber = licenseNumber;
            return v;
        }
        else {
            if (licenseNumber.Equals("1")) {
                Vehicle v = new Bike();
                v.licenseNumber = licenseNumber;
                return v;
            }
            else {
                return null;
            }
        }
    } //Vehicle
} //Test

/** @attribute XmlRoot("NewVehicle")
 */
abstract public class Vehicle
{
    public String licenseNumber;
    public DateTime make;
} //Vehicle

public class Car extends Vehicle
{
} //Car

public class Bike extends Vehicle
{
} //Bike

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

SoapIncludeAttribute-Klasse
SoapIncludeAttribute-Member
System.Xml.Serialization-Namespace