DataContract复合类

时间:2011-12-13 07:54:09

标签: wcf datacontract datamember

我遇到序列化复合类的问题(使用WCF服务)。

这是我在namespace1中的类(它不在服务名称空间中):

 [DataContract]
    public class UpData
    {
        [DataMember]
        public double Version ;

        public UpData()
        {
            this.Version = -1;    
        }
    }

在我的服务名称空间(在界面中)我明确了这个过程:

ArrayList GetDownloadPath(Dictionary<string,string> lib1, Dictionary<string,string> lib2);

ArrayList包含UpData对象。

我有错误(

如何正确发送UpData对象的ArrayList? (可能是特定的DataContract?)

非常感谢!

1 个答案:

答案 0 :(得分:0)

我不确定默认情况下ArrayList是否可序列化。使用通用列表可以解决您的问题:

[OperationContract]
List<UpData> GetDownloadPath(Dictionary<string,string> lib1, Dictionary<string,string> lib2);

编辑:我认为您还需要为Version属性指定一个getter和setter,即

[DataContract]
public class UpData
{
    [DataMember]
    public double Version { get; set; }

    public UpData()
    {
        this.Version = -1;    
    }
}

更多信息here