是否可以将通用对象传递给客户端,通用我的意思是任何使用DataContract。使用通用方式发送或接收不同类型的对象。此刻我有这样的事情:
enter code here
[DataContract]
[KnownType(typeof(Type1))]
[KnownType(typeof(Type2))]
[KnownType(typeof(Type3))]
public class Type
{
[DataMember]
private string id;
public string ID
{
get { return id; }
set { id= value; }
}
}
[DataContract]
public class Type1: Type
{
private SchoolData school;
[DataMember]
public SchoolData School
{
get { return school; }
set { school= value; }
}
}
[DataContract]
public class Type2: Type
{
private TecherData techer;
[DataMember]
public TecherData Techer
{
get { return techer; }
set { techer= value; }
}
}
[DataContract]
public class Type3 : Type
{
private StudentData student;
[DataMember]
public StudentData Student
{
get { return student; }
set { student= value; }
}
}
public interface ICallback
{
[OperationContract(IsOneWay = true)]
void CallbackData(Type object)
}
所以,我希望通过一般方式将type1 type2,type3发送到clent端,我想传递一个通用对象,因为我有大量的对象集合(Class Type1 / Type2 / Type)。 谢谢〜
答案 0 :(得分:0)
如果我可以通过以下方式发送任何类型,它不是真正的“数据合同”:-)说实话,你真的想在这里重现Json - 发送动态构造的类型就是它的设计目的。数据合同用于静态定义的类型,您可以验证这些类型并将业务规则附加到。