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非常简单。