抽象类继承和数据契约

问题描述

| 我有一个带有两个要与
class ClassA : BaseClass
class ClassB : BaseClass
共享的属性
abstract class BaseClass
。但是,我希望将
ClassA
ClassB
标记
DataContractAttribute
,这样才能使从
BaseClass
继承的成员也暴露在合同中。但是,我不希望将“ 6”本身作为数据合同公开。在WCF(.NET 3.5)中可能吗?     

解决方法

        否,无法使用AFAIK。即使您“ѭ8”添加数据成员标记的属性,它仍然会抱怨:   类型\'BaseClass \'无法序列化。考虑使用DataContractAttribute属性标记它,并使用DataMemberAttribute属性标记要序列化的所有成员。如果类型是集合,请考虑使用CollectionDataContractAttribute对其进行标记。有关其他受支持的类型,请参见Microsoft .NET Framework文档。