我有一个类,ReportDef
,它是一个具体的类,我根据需要使用[DataContract]
和[DataMember]
属性进行了装饰。 与我的,一起ReportDef
组装。然后我有另一个类,,它派生自并在 assembly 。 没有服务关心的附加状态。 A1
ServiceContract
IReportService
UiReportDef
ReportDef
A2
UiReportDef
我想用UiReportDef
. 有没有办法(除了手动构造一个ReportDef
实例UiReportDef
)在我的服务不知道的情况下做到这一点A2
?我知道KnownType
。我不想参考A2
。
编辑:这里有一些上下文可能会让我的问题更容易理解。我的ServiceContract
工具IReportService
定义了一个方法,RunReport(ReportDef report)
. ReportDef
用DataContract
属性装饰,并且有用 . 装饰的私有成员DataMember
。 UiReportDef
是在依赖于UI相关程序集等的程序集中。我没有设计现有的类层次结构。我需要将ReportDefs
and UiReportDefs
(as ReportDefs
) 传递给新服务。由于ReportDef
是具体的,我希望序列化程序UiReportDefs
在ReportDefs
没有任何其他信息的情况下处理。