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

4

1 回答 1

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");
于 2012-11-07T03:15:36.703 回答