2013-12-22 73 views
1

我想使用Protobuf.net版本2.0.0.668的文件存儲。我的解決方案具有在一個項目中定義的接口和在單獨的項目中定義的類,以及從類項目到接口項目的引用。每個類使用一個接口來引用其他類。直到現在這一直運行良好 - 但protobuf希望接口在ProtoInclude屬性中指定具體的類類型。鑑於我的項目結構,這是不可能的。使用protobuf網與解耦接口

應該有辦法解決這個問題。例如,我使用服務定位器設計模式在需要時通過不相關的類返回接口引用的類實例:IServiceLocator <> .GetInstance()。在protobuf中有沒有辦法做到這一點 - 當需要一個類型爲「T」的對象時,是否需要它?

或者是否有其他解決方案沒有將我的項目重組爲一個大型實體?

回答

0

沒有人加緊回答,我自己也找不到方法,所以我放棄了這種方法(使用ProtoInclude和相關屬性)。 ProtoInclude顛倒了接口及其實現之間的依賴關係,從而限制了它在某些情況下的實用性。我的解決方案是全部手工完成:編寫我自己的.proto文件等。總體來說,這並不算太壞。