我的web service函数如下:
[WebMethod]
public ArrayList GetMessage()
{
return SMS.GetMessage();
}GetMessage函数是绝对没有问题的,返回的确实是ArrayList,我调用web service的代码如下:SMSService s = new SMSService();
ArrayList list = new ArrayList();
list = s.GetMessage();然后编译的时候就有问题:无法将类型"object[]"隐式转换为"System.Collections.ArrayList"
如果将GetMessage()方法,不作为webmethod,直接写在类里面调用是没有问题的,作为web method就有问题,请大家帮帮忙!大家可以自己写一个方法试试,看看会不会出现这个问题!多谢了
[WebMethod]
public ArrayList GetMessage()
{
return SMS.GetMessage();
}GetMessage函数是绝对没有问题的,返回的确实是ArrayList,我调用web service的代码如下:SMSService s = new SMSService();
ArrayList list = new ArrayList();
list = s.GetMessage();然后编译的时候就有问题:无法将类型"object[]"隐式转换为"System.Collections.ArrayList"
如果将GetMessage()方法,不作为webmethod,直接写在类里面调用是没有问题的,作为web method就有问题,请大家帮帮忙!大家可以自己写一个方法试试,看看会不会出现这个问题!多谢了
Object[] list = s.GetMessage();
在调用的地方分割
所以不要返回ArrayList。
for(int i=0;i<list.length;i++)
{
Object obj=list[i];
//输入每一个obj,当然如果是对像需要强制转换
}
for (int i = 0; i < list.Length; i++)
{
txtMsg.AppendText("\r\n" + list[i].ToString());
}这样是可以的(当GetMessage()方法如下的时候)public static ArrayList GetMessage()
{
ArrayList list = new ArrayList();
list.Add("aa");
list.Add("bb");
return list;
}这是我写的只放简单的两个字符串的方法,如果换成内容较多、较复杂的方法,就报异常了!
未处理InvalidOperationException
XML文档(1,318)中有错误,"."(十六进制值0x00)是无效的字符
这显然是某些内容无法转换