我有一個類,ReportDef
,這是一個具體的類,我用[DataContract]
和[DataMember]
屬性根據需要裝飾。 ReportDef
在裝配A1
以及我的ServiceContract
,IReportService
。然後我有另一個課程,UiReportDef
,它來自ReportDef
,並在彙編A2
。 UiReportDef
沒有服務關心的附加狀態。WCF繼承/多態性和序列化
我想用UiReportDef
的實例調用我的服務。有沒有什麼辦法(沒有手動構建UiReportDef
的ReportDef
實例)做到這一點,而我的服務知道A2
?我知道KnownType
。我不想參考A2
。
編輯:這裏的一些情況下,可能使我的問題更容易理解。我的ServiceContract
實現IReportService
,它定義了一個方法,RunReport(ReportDef report)
。 ReportDef
裝飾有DataContract
屬性,並有私人成員裝飾DataMember
。 UiReportDef
在依賴於UI相關程序集等的程序集中。我沒有設計現有的類層次結構。我需要將ReportDefs
和UiReportDefs
(如ReportDefs
)傳遞給新服務。由於ReportDef
是具體的,我希望序列化程序在沒有任何其他信息的情況下將UiReportDefs
視爲ReportDefs
。
現在,我加入一個構造函數的基類,它自身的實例和copyies國家有關。非常醜,但我需要繼續前進。 – JohnOpincar 2009-05-04 23:19:29