我有一个abstract class BaseClass,它具有两个要与class ClassA : BaseClassclass ClassB : BaseClass共享的属性。但是,我希望ClassAClassB都用DataContractAttribute标记,以使从BaseClass继承的成员也暴露在合同中。但是,我不希望BaseClass本身作为数据合同公开。在WCF(.NET 3.5)中可能吗?

最佳答案

否,无法使用AFAIK。即使您new用于添加数据成员标记的属性,它仍然会抱怨:


  类型'BaseClass'无法序列化。考虑使用DataContractAttribute属性标记它,并使用DataMemberAttribute属性标记要序列化的所有成员。如果类型是集合,请考虑使用CollectionDataContractAttribute对其进行标记。有关其他受支持的类型,请参见Microsoft .NET Framework文档。

关于c# - 抽象类继承与数据协定,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6356870/

10-13 04:54