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

zbbaby 2008-06-25 04: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
请问这个问题怎么解决
...全文
150 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
ws传输实质还是XML,所以是需要序列化的,你可以返回标准的类,在客户端重新组织成自定义类.
如:可以把自定义类的各个属性作为string返回.

或者建议你加上[Serializable]试试看。
jianghao168 2008-06-26
  • 打赏
  • 举报
回复
10楼的方法和建议很不错
建议楼主采用
泛型,序列化/反序列化真是很实用的技术啊
fengquansheng 2008-06-26
  • 打赏
  • 举报
回复
webservice 传递对象时必须是可序列化的,不可序列化的对象是无法传递的.
changjiangzhibin 2008-06-25
  • 打赏
  • 举报
回复
直接用泛型实现比较容易,可序列化,也可代替数组
badtank 2008-06-25
  • 打赏
  • 举报
回复
用了list后,就也要用list对象来赋值,不能用数组了
你是不是Service服务器端客户段对象不一致的问题?如果是用一下序列化
反序列化来处理。
zbbaby 2008-06-25
  • 打赏
  • 举报
回复
用了list后 这个属性返回的是什么类型的?
我试了下 用一个productInfo[] 赋给这个属性 会报错 属性不匹配
ld_thinking 2008-06-25
  • 打赏
  • 举报
回复
public class OrderRequestType//定购请求
{
private List<SpecialProduct> specialproduct;
public List<SpecialProduct> productInfo
{
get { return specialproduct; }
set { specialproduct = value; }
}
}
zbbaby 2008-06-25
  • 打赏
  • 举报
回复
id_thinking 这位朋友能说说怎么改吗?以前没用到过list
zbbaby 2008-06-25
  • 打赏
  • 举报
回复
我在webservice里 调试的时候 实例化这个类是正确的 是数组类型。

我在另一个项目里调用webservices的时候 实例化这个类 productInfo的属性就不是数组类型。
ld_thinking 2008-06-25
  • 打赏
  • 举报
回复
改成List<SpecialProduct>
badtank 2008-06-25
  • 打赏
  • 举报
回复
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;
}
}
}

编译通过,没有问题
zbbaby 2008-06-25
  • 打赏
  • 举报
回复
我是要给otype.productInfo赋值(要赋数组),但是现在这个属性不是数组的,想知道为什么会这样。
noky 2008-06-25
  • 打赏
  • 举报
回复
看看强制转换行不行。
zbbaby 2008-06-25
  • 打赏
  • 举报
回复
我在webservices里实例化OrderRequestType类 这个里面的productInfo属性是SpecialProduct[] 的

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧