Сериализация атрибутов элемента xmls для свойств дочернего объекта - PullRequest
0 голосов
/ 16 июля 2010

У меня следующий элемент xml:

<point X="-1368.087158" Y="-918.482910" Z="156.191040" nX="0.241530" nY="-0.945819" nZ="0.217001"/>

и следующая структура объекта:

public class Point
{
    [XmlAttribute("X")]
    public float X { get; set; }
    [XmlAttribute("Y")]
    public float Y { get; set; }
    [XmlAttribute("Z")]
    public float Z { get; set; }
}


public class Vertex: Point
{
    [Xml...]
    public Point Normal { get; set; }
}

Как я могу сериализовать nX / nY / nZ?

1 Ответ

0 голосов
/ 16 июля 2010

В прошлом при попадании чего-то подобного я добавлял дополнительные свойства, которые должны использоваться только для сериализации.Так что в вашем случае ваш класс Vertex может выглядеть так:

public class Vertex : Point
{
    [XmlIgnore]
    public Point Normal { get; set; }

    [XmlAttribute]
    public float nX
    {
        get { return Normal.X; }
        set { Normal.X = value; }
    }

    //etc
}
...