атрибут не сериализуется XmlSerializer

Я хотел бы сериализовать класс в XML, назначив ему атрибут XML. Фрагмент:

    [XmlType(TypeName = "classmy")]
    public class MyClass2 : List<object>
    {
        [XmlAttribute(AttributeName = "myattr")]
        public string Name { get; set; }
    }

    public class MyConst
    {
        public MyConst()
        {
            MyClass2 myClass2 = new MyClass2 { 10, "abc" };

            myClass2.Name = "nomm";

            XmlSerializer serializer = new XmlSerializer(typeof(MyClass2));
            serializer.Serialize(Console.Out, myClass2);
        }
    }

Но результирующий XML выглядит так

<?xml version="1.0" encoding="IBM437"?>
<classmy xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <anyType xsi:type="xsd:int">10</anyType>
  <anyType xsi:type="xsd:string">abc</anyType>
</classmy>

Все хорошо, за исключением того, что myClass2.Name не сериализуется. Я ожидал что-то вроде

<classmy myattr="nomm" [...]>[...]</classmy>

... Почему это не сериализовано и как это может быть?

8
задан Filburt 8 August 2012 в 10:21
поделиться