抽象类继承&数据合同

时间:2011-06-15 11:17:41

标签: c# wcf .net-3.5

我有一个abstract class BaseClass,其中包含两个我要与class ClassA : BaseClassclass ClassB : BaseClass分享的属性。但是,我希望ClassAClassB都标记为DataContractAttribute,其方式是从BaseClass继承的成员也会在合同中公开。但是,我不希望BaseClass本身作为数据合同公开。这在WCF(.NET 3.5)中是否可行?

1 个答案:

答案 0 :(得分:1)

不,AFAIK是不可能的。即使您new添加数据成员标记的属性,它仍然会抱怨:

  

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