我有
public class Convolutions : List<Convolution> { }
序列化为xml:
<ArrayOfConvolution>
<Convolution>
但我想:
<Convolutions>
<Convolution>
但是无法在课程中使用[XmlArray("Convolutions")]
或[XmlElement(ElementName = "Convolutions")]
无论如何要实现这个目标?
答案 0 :(得分:3)
[XmlType将(&#34;卷积&#34)]
公共类Convolutions:List&lt; Convolution&gt; {}
答案 1 :(得分:1)
如果那是根对象,那么:
[XmlRoot("Convolutions")]
public class Convolutions : List<Convolution> { }
如果它是另一个对象的成员,请使用该成员上的属性。
另一种方法,在许多情况下更灵活,是使用单独的包装器对象和封装列表;坦率地说,从列表继承通常不是很有帮助。以下方法可行:
public class Convolutions {
[XmlElement("Convolution")]
public List<Convolution> Items { get; set; }
}
或者如果您不喜欢收藏成员的set
:
public class Convolutions {
private readonly List<Convolution> items = new List<Convolution>();
[XmlElement("Convolution")]
public List<Convolution> Items { get { return items; } }
}