由于是第一次使用WebService所以很多地方理解的都不是太好。
一开始以为要想传入或返回自定义类型,需要使用
[System.Xml.Serialization.XmlInclude(typeof(...))]
msdn的说明是:允许 XmlSerializer 在它序列化或反序列化对象时识别类型。
当调用 XmlSerializer 类的 Serialize 或 Deserialize 方法时使用 XmlIncludeAttribute。
当应用 XmlIncludeAttribute 时,请指定派生类的 Type。XmlSerializer 序列化同时包含基类和派生类的对象之后,它就可以识别两种对象类型。
但是,在使用自定义类型时,将 SerializableAttribute 属性应用于一个类型可指示该类型的实例可以序列化。
using System;
namespace ClsCommon
{
/// <summary>
/// Person の概要の説明です。
/// </summary>
[Serializable]
public class Person
{
public string Name;
public string Gender;
public Person()
{}
public Person(string name, string gender)
{
Name = name;
Gender = gender;
}
}
}
当调用 XmlSerializer 类的 Serialize 或 Deserialize 方法时使用 XmlIncludeAttribute。
当应用 XmlIncludeAttribute 时,请指定派生类的 Type。XmlSerializer 序列化同时包含基类和派生类的对象之后,它就可以识别两种对象类型。
但是,在使用自定义类型时,将 SerializableAttribute 属性应用于一个类型可指示该类型的实例可以序列化。
using System;
namespace ClsCommon
{
/// <summary>
/// Person の概要の説明です。
/// </summary>
[Serializable]
public class Person
{
public string Name;
public string Gender;
public Person()
{}
public Person(string name, string gender)
{
Name = name;
Gender = gender;
}
}
}
当调用 XmlSerializer 类的 Serialize 或 Deserialize 方法时使用 XmlIncludeAttribute。
当应用 XmlIncludeAttribute 时,请指定派生类的 Type。XmlSerializer 序列化同时包含基类和派生类的对象之后,它就可以识别两种对象类型。
但是,在使用自定义类型时,将 SerializableAttribute 属性应用于一个类型可指示该类型的实例可以序列化。
using System;
namespace ClsCommon
{
/// <summary>
/// Person の概要の説明です。
/// </summary>
[Serializable]
public class Person
{
public string Name;
public string Gender;
public Person()
{}
public Person(string name, string gender)
{
Name = name;
Gender = gender;
}
}
}
当调用 XmlSerializer 类的 Serialize 或 Deserialize 方法时使用 XmlIncludeAttribute。
当应用 XmlIncludeAttribute 时,请指定派生类的 Type。XmlSerializer 序列化同时包含基类和派生类的对象之后,它就可以识别两种对象类型。
但是,在使用自定义类型时,将 SerializableAttribute 属性应用于一个类型可指示该类型的实例可以序列化。
using System;
namespace ClsCommon
{
/// <summary>
/// Person の概要の説明です。
/// </summary>
[Serializable]
public class Person
{
public string Name;
public string Gender;
public Person()
{}
public Person(string name, string gender)
{
Name = name;
Gender = gender;
}
}
}