我的webservice返回一个自定义结构的ArrayList
[WebMethod]
public ArrayList GetAssistantInfo(string orgID)
{
ArrayList ls = new ArrayList();
ls.add(new MyStruct());
return ls;
}
但是在利用webservice的时候:
A.ServiceUser info = new Test.A.ServiceUser();
ArrayList ls = (ArrayList)(info.GetAssistantInfo("330"));
编译出错,提示:
无法从object[] 到 ArrayList。
请教需要那些设置。
---------------------------------------------------------------
public object[] GetArrayList() {
object[] results = this.Invoke("GetArrayList", new object[0]);
return ((object[] )(results[0]));
}
public ArrayList GetArrayList() {
object[] results = this.Invoke("GetArrayList", new object[0]);
return ((ArrayList)(results[0]));
}
ArrayList其实就是一个活动的Object[],但是WebService不能直接传递Object。
如果ArrayList是WebService支持的系统类型,可以在传递前先转化为普通的定长Array;如果ArrayList保存的对象结构比较简单,容易表示为二维表,可以转化为DataSet传递;否则只能把ArrayList里面的每一个Object串行话后再传递。
---------------------------------------------------------------
学习!