我有自己的服务参考,正在使用命名的List <>进行调用。 此列表将已被命名的属性转换为有用的内容。 我如何以可以理解的方式将列表传递回来?

我正在从客户端取回数据,但是我不知道如何以期望的方式将其初始化以发送到其他Web服务。

.NET生成的命名参数:

/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("p2PARM", Order=4)]
    public P2PARM[] p2PARM {
        get {
            return this.p2PARMField;
        }
        set {
            this.p2PARMField = value;
            this.RaisePropertyChanged("p2PARM");
        }
    }

它的属性也由.NET生成:

/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://update_data/xsd")]
public partial class P2PARM : object, System.ComponentModel.INotifyPropertyChanged {

    private string p2A0STField;

    private string p2A5TXField;

    private decimal p2G9NCField;

    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Order=0)]
    public string p2A0ST {
        get {
            return this.p2A0STField;
        }
        set {
            this.p2A0STField = value;
            this.RaisePropertyChanged("p2A0ST");
        }
    }

    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Order=1)]
    public string p2A5TX {
        get {
            return this.p2A5TXField;
        }
        set {
            this.p2A5TXField = value;
            this.RaisePropertyChanged("p2A5TX");
        }
    }

    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Order=2)]
    public decimal p2G9NC {
        get {
            return this.p2G9NCField;
        }
        set {
            this.p2G9NCField = value;
            this.RaisePropertyChanged("p2G9NC");
        }
    }

我可以成功地将数据下拉到dataList中:

List<Models.UpdateData.InputData.Data> dataList = input.DataList;
SVC_UpdateData.P2PARM[] p2Input = new SVC_UpdateData.P2PARM[dataList.Count];

这是我试图设置变量的地方,但是p2Input为null,我不知道下一步要去哪里。

for (int i=0; i < dataList.Count; i++)
{

    p2Input[i].p2A0ST = dataList[i].NamedField1;
    p2Input[i].p2A5TX = dataList[i].NamedField2;
    p2Input[i].p2G9NC = dataList[i].NamedField3;
}

这是我要发送到的WSDL的XML:

  <xs:complexType name="P2PARM">
    <xs:sequence>
      <xs:element name="p2A0ST" type="xs:string" />
      <xs:element name="p2A5TX" type="xs:string" />
      <xs:element name="p2G9NC" type="xs:decimal" />
    </xs:sequence>
  </xs:complexType>

这是我的模型,其中包含我的列表:

    [DataContract]
    public class InputData
    {
        [DataContract]
        public class Data
        {
            [DataMember]
            public string NamedField1 { get; set; }
            [DataMember]
            public string NamedField2 { get; set; }
            [DataMember]
            public decimal NamedField3 { get; set; }
        }
        [DataMember]
        public List<Data> DataList { get; set; }
    }

#1楼 票数:2 已采纳

p2Input不为null,它是一个数组,您已对其进行了初始化。 但是,您还需要实例化数组中的每个元素:

for (int i=0; i < dataList.Count; i++)
{
    p2Input[i] = new SVC_UpdateData.P2PARM();
    p2Input[i].p2A0ST = dataList[i].NamedField1;
    // ...
}

  ask by Kyle Crabtree translate from so

未解决问题?本站智能推荐:

1回复

使用多维数组JavaScript处理Web服务响应

我正在使用具有多维数组的Web服务作为响应,当我警告元素时会得到未定义的输出,请参见下面的代码。 JSON响应 JavaScript代码 请提出一些建议。
2回复

字符数组转换为2D整数数组失败

我似乎在将字符数组转换为2D整数数组时遇到麻烦。 具体如下: 我想将包含特定定界符的字符数组转换为多维数组,其中每行的末尾由字符数组内部的定界符指定(我已经确保采用另一种方法,每一行的长度都相同)。 该数组仅包含0和1。 问题在于,在测试该方法时,它(该方法)似乎跳过了一行-读取第
2回复

如何将此json数组转换为列表

我的json数组: 我的C#类: 我的问题: 我的json字符串包含“ food_photo”键,如何将此字节数组转换为图像? 或转换为asp.net中的列表预先感谢
3回复

如何将多维列表或元组传递给C#Web服务

我正在开发一个Web服务,该服务需要接受具有三个不同类型的值的集合。 这些值是 SkuNumber(整数),FirstName(字符串),LastName(字符串) 我希望Web服务接受这些值的100个实例的列表,但不确定如何处理。 我是否使用多维列表或数组? 也许是一个元组?
2回复

如何将多维数组转换为列表>?[关闭]

关闭。 这个问题是基于意见的。 它目前不接受答案。 想改善这个问题吗? 更新问题,以便通过编辑这篇文章用事
2回复

将锯齿状数组转换为列表

我有一个锯齿状的数组,我想将其转换为一个简单的列表。 我想转换成一个列表 将二维数组转换为List(一维)的快速方法 此问题将二维数组转换为列表,但这对于锯齿状数组来说是失败的。
4回复

如何将单维数组转换为多维数组?(C#)

我必须使用一个接受double [,]的方法,但我只有一个double []。 我怎么转换它? 目前解决方案:
1回复

如何将锯齿状数组转换为2D数组?

我有一个文件file.txt以下各项: 并通过以下代码读取它并将其提供给锯齿状数组: 如果使用2D阵列,我将如何做同样的事情?