0

我的情况是这样的:有一个服务方法应该接受一些接口的集合。客户端有几个实现该接口的类。为了争论,可能只有一个,关键是他们只添加私人成员。我不希望服务知道客户端中的实现类型。那么有没有办法让我在服务中创建该接口的另一个子类,该子类将充当 DataContract,以便正确序列化/反序列化我在客户端中拥有的现有类?或者也许我需要一个不同的解决方案?

4

1 回答 1

0

您可以在客户端创建一个基类,实现该接口的所有子类都将从那里继承,并为每个子类添加一个KnownTypeAttribute

[KnownType(typeof(Subclass1))]
[KnownType(typeof(Subclass2))]
[DataContract]
public class BaseClass : ISomeInterface
{

}
于 2013-09-15T13:46:22.463 回答