我有一个abstract class BaseClass
,它具有两个要与class ClassA : BaseClass
和class ClassB : BaseClass
共享的属性。但是,我希望ClassA
和ClassB
都用DataContractAttribute
标记,以使从BaseClass
继承的成员也暴露在合同中。但是,我不希望BaseClass
本身作为数据合同公开。在WCF(.NET 3.5)中可能吗?
最佳答案
否,无法使用AFAIK。即使您new
用于添加数据成员标记的属性,它仍然会抱怨:
类型'BaseClass'无法序列化。考虑使用DataContractAttribute属性标记它,并使用DataMemberAttribute属性标记要序列化的所有成员。如果类型是集合,请考虑使用CollectionDataContractAttribute对其进行标记。有关其他受支持的类型,请参见Microsoft .NET Framework文档。
关于c# - 抽象类继承与数据协定,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6356870/