当前位置:编程学习 > C#/ASP.NET >>

webservice里自定义类的问题,请各位高手帮忙解决!

我在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
请问这个问题怎么解决 --------------------编程问答-------------------- 我在webservices里实例化OrderRequestType类 这个里面的productInfo属性是SpecialProduct[] 的
--------------------编程问答-------------------- 看看强制转换行不行。 --------------------编程问答-------------------- 我是要给otype.productInfo赋值(要赋数组),但是现在这个属性不是数组的,想知道为什么会这样。 --------------------编程问答-------------------- 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;
        }
    }
}

编译通过,没有问题 --------------------编程问答-------------------- 改成List<SpecialProduct> --------------------编程问答-------------------- 我在webservice里 调试的时候 实例化这个类是正确的 是数组类型。

我在另一个项目里调用webservices的时候 实例化这个类 productInfo的属性就不是数组类型。 --------------------编程问答-------------------- id_thinking 这位朋友能说说怎么改吗?以前没用到过list --------------------编程问答-------------------- public class OrderRequestType//定购请求 

    private List<SpecialProduct> specialproduct; 
    public List<SpecialProduct> productInfo 
    { 
        get { return specialproduct; } 
        set { specialproduct = value; } 
    } 

--------------------编程问答-------------------- 用了list后 这个属性返回的是什么类型的?
我试了下 用一个productInfo[] 赋给这个属性 会报错 属性不匹配 --------------------编程问答-------------------- 用了list后,就也要用list对象来赋值,不能用数组了
你是不是Service服务器端客户段对象不一致的问题?如果是用一下序列化
反序列化来处理。 --------------------编程问答-------------------- 直接用泛型实现比较容易,可序列化,也可代替数组 --------------------编程问答-------------------- webservice 传递对象时必须是可序列化的,不可序列化的对象是无法传递的. --------------------编程问答-------------------- 10楼的方法和建议很不错
建议楼主采用
泛型,序列化/反序列化真是很实用的技术啊 --------------------编程问答-------------------- ws传输实质还是XML,所以是需要序列化的,你可以返回标准的类,在客户端重新组织成自定义类.  
  如:可以把自定义类的各个属性作为string返回.  

或者建议你加上[Serializable]试试看。
补充:.NET技术 ,  Web Services
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,