2012-11-07 43 views
1

我希望能夠使用C#XmlSerializer對多個不同實體序列化泛型類型。比如我想序列:具有兩個類似名稱的泛型參數的泛型類型化序列化

GenericThing<MyApp.A> and GenericThing<MyApp.B> 

這一切運作良好,直到我有類似以下內容:

GenericThing<MyApp.A.Entity> and GenericThing<MyApp.B.Entity> 

因爲這兩個類具有串行不能在兩個實體之間區分相同的名稱和試圖序列化到GenericThingOfEnitity

是否有裝飾GenericThing的方法,以便它在序列化過程中對其泛型參數更具體(即序列化爲GenericThingOfMyApp.B.Enitity或類似的)?我很遺憾沒有通過任一MyApp.AMyApp.B

回答

0

控制您可以指定不同的XML命名空間,例如:

var entityA = new GenericThing<MyApp.Entity>(); 
var entityB = new GenericThing<MyAppB.Entity>(); 
var serializer1 = new XmlSerializer(entityA.GetType(), "aaa"); 
var serializer2 = new XmlSerializer(entityB.GetType(), "bbb"); 
+0

我能做到這一點在泛型類型的水平? –

+0

你能舉一個你的意思嗎? –

+0

IE可以用一個屬性來裝飾我的GenericThing類,該屬性將爲不同的可能子類定義名稱空間? (順便說一下,這不是我投票) –

相關問題