动态调用webservice,如何接受out返回值。
2个回答
展开全部
调试发现C# codeif(types.Length==0)//如果没有out ,或者ref类型参数{method=
t.GetMethod(functionName);}else{method=
t.GetMethod(functionName, types);//}[color=#FF0000]result=method.Invoke(o, args);[/color]
在红色标记处调试进去,整个底层方法的调用并没有问题。但是调式返回到红色标记后即爆“调用的目标发生了异常”。
.webservice中的方法如下C# code[WebMethod]publicDataTable GetHospitalByPage(stringwhere,
intpageSize,
intcurrentIndex,
outintrecordCount,
outintpageCount){HospitalBll hosBll=newHospitalBll();returnhosBll.GetPageList(pageSize, currentIndex,
outrecordCount,
where);}请大家帮帮忙!
t.GetMethod(functionName);}else{method=
t.GetMethod(functionName, types);//}[color=#FF0000]result=method.Invoke(o, args);[/color]
在红色标记处调试进去,整个底层方法的调用并没有问题。但是调式返回到红色标记后即爆“调用的目标发生了异常”。
.webservice中的方法如下C# code[WebMethod]publicDataTable GetHospitalByPage(stringwhere,
intpageSize,
intcurrentIndex,
outintrecordCount,
outintpageCount){HospitalBll hosBll=newHospitalBll();returnhosBll.GetPageList(pageSize, currentIndex,
outrecordCount,
where);}请大家帮帮忙!
展开全部
反射调用带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)
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)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询