我创建了一个基类,还有2个继承的类。我想创建一个WCF操作契约,其中参数是基类。我可以在参数或类上添加一个装饰,指示提供的值必须是继承的类之一吗?
答案 0 :(得分:1)
杰里米,
在基类上,您可以使用已知的类型属性。
[DataContract]
[KnownType(typeof(CircleType))]
[KnownType(typeof(TriangleType))]
public class CompanyLogo2
{
[DataMember]
private Shape ShapeOfLogo;
[DataMember]
private int ColorOfLogo;
}
请参考http://msdn.microsoft.com/en-us/library/ms730167.aspx
实现这一目标的其他方法。
以下是Juval Lowy关于数据合同继承的一篇很棒的MSDN文章: