DataContract 复合类

发布于 2024-12-21 06:57:11 字数 564 浏览 0 评论 0原文

我在序列化复合类(使用 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?)

非常感谢!

I have a problem with serialization composite class (using WCF Service).

here my class in namespace1 (it is not in service namespace) :

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

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

In my Service namespace (in interface) I deсlare this procedure :

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

ArrayList contains UpData objects.

I have error(

How will be right to send ArrayList of UpData objects? (may be specific DataContract?)

Thanks a lot!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一身骄傲 2024-12-28 06:57:11

我不确定 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;    
    }
}

更多信息此处

I'm not sure if ArrayList is serializable by default. Using a generic list could solve your problem:

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

EDIT: I think you also need to specify a getter and setter for your Version property, i.e.

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

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

More info here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文