如果您有派生类,则需要在数据协定上"宣传"这些类:
[DataContract]
[KnownType(typeof(DerivedType1))]
[KnownType(typeof(DerivedType2))]
public class BaseType
{
......
}
Run Code Online (Sandbox Code Playgroud)
或者您也可以在服务合同上指定这种关系:
[ServiceKnownType(typeof(DerivedType1))]
[ServiceKnownType(typeof(DerivedType2))]
[ServiceContract()]
public interface IService
{
[OperationContract]
BaseType GetItems();
}
Run Code Online (Sandbox Code Playgroud)
有关更多背景信息,请查看有关数据协定已知类型或服务已知类型的MSDN文档.