我有一个abstract class BaseClass
,其中包含两个我要与class ClassA : BaseClass
和class ClassB : BaseClass
分享的属性。但是,我希望ClassA
和ClassB
都标记为DataContractAttribute
,其方式是从BaseClass
继承的成员也会在合同中公开。但是,我不希望BaseClass
本身作为数据合同公开。这在WCF(.NET 3.5)中是否可行?
答案 0 :(得分:1)
不,AFAIK是不可能的。即使您new
添加数据成员标记的属性,它仍然会抱怨:
类型'BaseClass'无法序列化。请考虑使用DataContractAttribute属性对其进行标记,并使用DataMemberAttribute属性标记要序列化的所有成员。如果类型是集合,请考虑使用CollectionDataContractAttribute对其进行标记。有关其他受支持的类型,请参阅Microsoft .NET Framework文档。