我是用一个动态链接WEBSERVICE的类调用WEBSERVICE,参数是以一个数组的形式传入的。
问题解决了,返回参数不是返回给一个变量,是返回给了我输入的参数的数组中
C# code
WebService service=new WebService();
string errStr=string.Empty;
service.UserLogin(ref errStr,"name","pwd","chk");
Response.Write(errStr);
反射调用带ref或out参数的方法时,需要精确指定type的个数与类型
System.Reflection.MethodInfo mi = t.GetMethod(methodname);
System.Reflection.MethodInfo mi = t.GetMethod(methodname,new Type[]
{
Type.GetType("System.Int32"),
Type.GetType("System.Int32&") //这个是out参数
}
);
另外代理类的方法改下
public static object InvokeWebService(string url, string classname, string methodname, object[] args,param Type[] types)