C# 具有额外属性的CollectionDataContract

C# 具有额外属性的CollectionDataContract,c#,.net,wcf,xml-parsing,C#,.net,Wcf,Xml Parsing,我正在处理WCF中的列表。我想在客户端和服务器之间传递列表,其中包含一个额外的属性 所需输出 <NumbersList> <Count>2</Count> //Extra property to parse <Number>1</Number> <Number>2</Number> </NumbersList> <NumbersList> <Coun

我正在处理WCF中的列表。我想在客户端和服务器之间传递列表,其中包含一个额外的属性

所需输出

<NumbersList>
    <Count>2</Count> //Extra property to parse
    <Number>1</Number>
    <Number>2</Number>
</NumbersList>
<NumbersList>
    <Count>2</Count>
    <Number>1</Number>
    <Number>2</Number>
</NumbersList>
然后可以给输出,如下所示:

<NumbersList>
    <Count>2</Count>
    <Number>
        <Number>1</Number>
        <Number>2</Number>
    </Number>
</NumbersList>
<NumbersList>
    <Number>
        <Number>1</Number>
        <Number>2</Number>
    </Number>
</NumbersList>
[MessageContract]
public class Messanger
{
    [MessageBodyMember]
    [XmlElement(ElementName = "NumbersList")]
    public NumbersList NumbersList;
}

[DataContract]
[XmlRoot(ElementName = "NumbersList")]
public class NumbersList
{
    [XmlElement(ElementName = "Count")]
    public int Count { get; set; }

    [XmlElement(ElementName = "Number")]
    public List<int> Number { get; set; }
}
<NumbersList>
    <Count>2</Count> //Extra property to parse
    <Number>1</Number>
    <Number>2</Number>
</NumbersList>

1.
2.
有人能帮我得到这样的输出吗

<NumbersList>
    <Count>2</Count>
    <Number>
        <Number>1</Number>
        <Number>2</Number>
    </Number>
</NumbersList>
<NumbersList>
    <Number>
        <Number>1</Number>
        <Number>2</Number>
    </Number>
</NumbersList>
[MessageContract]
public class Messanger
{
    [MessageBodyMember]
    [XmlElement(ElementName = "NumbersList")]
    public NumbersList NumbersList;
}

[DataContract]
[XmlRoot(ElementName = "NumbersList")]
public class NumbersList
{
    [XmlElement(ElementName = "Count")]
    public int Count { get; set; }

    [XmlElement(ElementName = "Number")]
    public List<int> Number { get; set; }
}
<NumbersList>
    <Count>2</Count> //Extra property to parse
    <Number>1</Number>
    <Number>2</Number>
</NumbersList>
所需输出

<NumbersList>
    <Count>2</Count> //Extra property to parse
    <Number>1</Number>
    <Number>2</Number>
</NumbersList>
<NumbersList>
    <Count>2</Count>
    <Number>1</Number>
    <Number>2</Number>
</NumbersList>

2.
1.
2.

在进行研发和研究并在asp.net论坛上发布我的查询后,我得到了解决方案

在我的情况下,
CollectionDataContract
对我没有帮助,因为我必须使用
XmlSerializerFormat

所以我重写代码如下:

<NumbersList>
    <Count>2</Count>
    <Number>
        <Number>1</Number>
        <Number>2</Number>
    </Number>
</NumbersList>
<NumbersList>
    <Number>
        <Number>1</Number>
        <Number>2</Number>
    </Number>
</NumbersList>
[MessageContract]
public class Messanger
{
    [MessageBodyMember]
    [XmlElement(ElementName = "NumbersList")]
    public NumbersList NumbersList;
}

[DataContract]
[XmlRoot(ElementName = "NumbersList")]
public class NumbersList
{
    [XmlElement(ElementName = "Count")]
    public int Count { get; set; }

    [XmlElement(ElementName = "Number")]
    public List<int> Number { get; set; }
}
<NumbersList>
    <Count>2</Count> //Extra property to parse
    <Number>1</Number>
    <Number>2</Number>
</NumbersList>
[MessageContract]
公共类Messanger
{
[MessageBodyMember]
[xmlement(ElementName=“NumbersList”)]
公共电话号码表;
}
[数据合同]
[XmlRoot(ElementName=“NumbersList”)]
公共类编号列表
{
[xmlement(ElementName=“Count”)]
公共整数计数{get;set;}
[xmlement(ElementName=“Number”)]
公共列表编号{get;set;}
}
它将为我生成XML,如下所示:

<NumbersList>
    <Count>2</Count>
    <Number>
        <Number>1</Number>
        <Number>2</Number>
    </Number>
</NumbersList>
<NumbersList>
    <Number>
        <Number>1</Number>
        <Number>2</Number>
    </Number>
</NumbersList>
[MessageContract]
public class Messanger
{
    [MessageBodyMember]
    [XmlElement(ElementName = "NumbersList")]
    public NumbersList NumbersList;
}

[DataContract]
[XmlRoot(ElementName = "NumbersList")]
public class NumbersList
{
    [XmlElement(ElementName = "Count")]
    public int Count { get; set; }

    [XmlElement(ElementName = "Number")]
    public List<int> Number { get; set; }
}
<NumbersList>
    <Count>2</Count> //Extra property to parse
    <Number>1</Number>
    <Number>2</Number>
</NumbersList>

2//要分析的额外属性
1.
2.

这是论坛的链接:

据我所知,这是不可能的。@selami,这可能是可能的,请看下面我的答案。