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

C# 如何在XML中序列化自定义IEnumerable?,c#,xml,xml-serialization,ienumerable,ixmlserializable,C#,Xml,Xml Serialization,Ienumerable,Ixmlserializable,我创建了一个从IEnumerable派生的类。T是一个OQTemplate,它正确地实现了IXmlSerializable。但是我不知道如何实现下面的类 public class OQTemplateCollection : IEnumerable<OQTemplate>, IEnumerable { private readonly List<OQTemplate> entries; public OQTemplateCollection()

我创建了一个从
IEnumerable
派生的类。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]; }
    }
}
公共类OQTemplateCollection:IEnumerable,IEnumerable
{
私有只读列表条目;
公共模板集合()
{
this.entries=新列表();
}
公共OQTemplateCollection(IEnumerable源)
{
this.entries=新列表(源);
}
公共作废添加(OQQT模板)
{
条目。添加(qt);
}
公共IEnumerator GetEnumerator()
{
返回条目。GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
返回GetEnumerator();
}
此[int索引]的公共模板
{
获取{返回项[索引];}
}
}
我只希望有这样一个XML:

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


当您实现IEnumerable:)时,实现IEnumerable是多余的。您的
OQTemplateCollection
似乎没有任何特别之处。你为什么需要那门课?因为您的xml非常简单。