如何在XML中序列化自定义IEnumerable?

时间:2012-11-01 21:28:17

标签: c# xml xml-serialization ienumerable ixmlserializable

我创建了一个派生自IEnumerable<T>的类。 T是OQTemplate,这个正确地实现了IXmlSerializable。但我不知道如何实现以下类。

public class OQTemplateCollection : IEnumerable<OQTemplate>, IEnumerable
{
    private readonly List<OQTemplate> entries;

    public OQTemplateCollection()
    {
        this.entries = new List<OQTemplate>();
    }

    public OQTemplateCollection(IEnumerable<OQTemplate> source)
    {
        this.entries = new List<OQTemplate>(source);
    }

    public void Add(OQTemplate qt)
    {
        entries.Add(qt);
    }

    public IEnumerator<OQTemplate> GetEnumerator()
    {
        return entries.GetEnumerator();
    }

    IEnumerator IEnumerable.GetEnumerator()
    {
        return GetEnumerator();
    }

    public OQTemplate this[int index]
    {
        get { return entries[index]; }
    }
}

我想要一个像这样的XML:

<OQTemplateCollection>
    <OQTemplate ... />
    <OQTemplate ... />
</OQTemplateCollection>

0 个答案:

没有答案