WebServices中ArrayList做参数为什么有问题
2024-07-21 02:21:23
供稿:网友
我在webservice中写了一个方法,用arraylist做参数,返回也是arraylsit
[webmethod]
public arraylist getarraylist2(arraylist arraylist)
{
return arraylist;
}
然后我在一个asp.net的客户端调用
private void button1_click(object sender, system.eventargs e)
{
localhost.service1 s = new testweb.localhost.service1();
arraylist al = new arraylist();
al.add("arraylist_1");
al.add("arraylist_2");
//下面这句要出错,说al不能转变成object[]类型
arraylist aa = s.getarraylist2(al);
foreach(string str in aa)
{
response.write(str);
}
}
查看vs.net自动生成的reference.cs文件,发现参数实际变了
/// <remarks/>
[system.web.services.protocols.soapdocumentmethodattribute("http://tempuri.org/getarraylist2", requestnamespace="http://tempuri.org/", responsenamespace="http://tempuri.org/", use=system.web.services.description.soapbindinguse.literal, parameterstyle=system.web.services.protocols.soapparameterstyle.wrapped)]
public object[] getarraylist2(object[] arraylist) {
object[] results = this.invoke("getarraylist2", new object[] {
arraylist});
return ((object[])(results[0]));
}
这是为什么啦?