首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • webservice里自定义类的问题,请各位高手帮忙解决!
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zbbaby
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-06-25 16:51:00 楼主
    我在webservices里定义了2个类
    public class SpecialProduct
    {
        private string Name;
        public string fieldName
        {
            get { return Name; }
            set { Name = value; }
        }

        private string Value;
        public string fieldValue
        {
            get { return Value; }
            set { Value = value; }
        }
    }

    public class OrderRequestType//定购请求
    {
        private SpecialProduct[] specialproduct;
        public SpecialProduct[] productInfo
        {
            get { return specialproduct; }
            set { specialproduct = value; }
        }
    }
    --------
    我在另一个程序里 实例化OrderRequestType类  otype
    在otype里的productInfo属性不是SpecialProduct[] 类型的 而是SpecialProduct
    请问这个问题怎么解决
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zbbaby
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-06-25 16:55:321楼 得分:0
    我在webservices里实例化OrderRequestType类 这个里面的productInfo属性是SpecialProduct[] 的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • noky
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-06-25 17:00:032楼 得分:0
    看看强制转换行不行。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zbbaby
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-06-25 17:03:403楼 得分:0
    我是要给otype.productInfo赋值(要赋数组),但是现在这个属性不是数组的,想知道为什么会这样。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • badtank
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-06-25 17:12:134楼 得分:0
    namespace WindowsApplication3
    {
        public class SpecialProduct
        {
            private string Name;
            public string fieldName
            {
                get { return Name; }
                set { Name = value; }
            }

            private string Value;
            public string fieldValue
            {
                get { return Value; }
                set { Value = value; }
            }
        }
        public class OrderRequestType//定购请求
        {
            private SpecialProduct[] specialproduct;
            public SpecialProduct[] productInfo
            {
                get { return specialproduct; }
                set { specialproduct = value; }
            }
        }
        public  class TestIt{
            public TestIt() {
                OrderRequestType otype = new OrderRequestType();
                SpecialProduct[] info = otype.productInfo;
            }
        }
    }

    编译通过,没有问题
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ld_thinking
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-06-25 17:14:305楼 得分:0
    改成List <SpecialProduct>
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zbbaby
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-06-25 17:15:566楼 得分:0
    我在webservice里 调试的时候 实例化这个类是正确的 是数组类型。

    我在另一个项目里调用webservices的时候 实例化这个类 productInfo的属性就不是数组类型。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zbbaby
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-06-25 17:21:467楼 得分:0
    id_thinking 这位朋友能说说怎么改吗?以前没用到过list
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ld_thinking
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-06-25 17:26:028楼 得分:0
    public class OrderRequestType//定购请求
    {
        private List <SpecialProduct> specialproduct;
        public List <SpecialProduct> productInfo
        {
            get { return specialproduct; }
            set { specialproduct = value; }
        }
    }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zbbaby
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-06-25 17:30:029楼 得分:0
    用了list后 这个属性返回的是什么类型的?
    我试了下 用一个productInfo[] 赋给这个属性 会报错 属性不匹配
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • badtank
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-06-25 17:56:3110楼 得分:0
    用了list后,就也要用list对象来赋值,不能用数组了
    你是不是Service服务器端客户段对象不一致的问题?如果是用一下序列化
    反序列化来处理。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • changjiangzhibin
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-06-25 21:37:0711楼 得分:0
    直接用泛型实现比较容易,可序列化,也可代替数组
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fengquansheng
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-06-26 13:04:4212楼 得分:0
    webservice 传递对象时必须是可序列化的,不可序列化的对象是无法传递的.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jianghao168
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-06-26 17:38:2213楼 得分:0
    10楼的方法和建议很不错
    建议楼主采用
    泛型,序列化/反序列化真是很实用的技术啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • isline
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-06-27 11:14:4014楼 得分:0
    ws传输实质还是XML,所以是需要序列化的,你可以返回标准的类,在客户端重新组织成自定义类. 
      如:可以把自定义类的各个属性作为string返回. 

    或者建议你加上[Serializable]试试看。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved