使用System.Xml.Serialization Serializing Generic类时,XmlRoot会被覆盖

时间:2017-09-26 15:18:52

标签: c# xml generics serialization root-element

亲爱的StackOverflow爱好者,

每当我尝试从泛型类序列化对象时,我都会覆盖我的XmlRoot。

=>我得到XmlRoot:classname + _x0060_1(顺便说一下,因为只有一个Type参数,所以有一个1,换句话说,它可以是任意数量的类型参数)

即使我使用

[XmlRoot("BaseSyncOneWayInput")]

甚至

XmlRootAttribute xRoot = new XmlRootAttribute();
xRoot.ElementName = typeof(T).Name;

这是一个重现bug的.NET小提琴:https://dotnetfiddle.net/X9fRkA

1 个答案:

答案 0 :(得分:0)

我没有看到这个问题。我在您的代码中添加了一个测试类,并修改了main()方法以使用类。结果工作。

        static void Main(string[] args)
        {
            MyListClass[] myListClass = new MyListClass[3];
            Console.WriteLine(Pull<string>("","",myListClass));
        }
    }
    public class MyListClass
    {
        string myProperty { get; set; }
    }