方法中定义的是
public Dataset GetSet(...,out int count){...}
在调用的时候
int num=0;
DataSet set = GetSet(...,out num);
报了两个错误:
1. 无法从'out int' 转换为'out System.Int32'
2. 与"GetSet(...,out System.Int32)" 最匹配的重载方法具有一些无效参数
但是仍然能运行,求问这是怎么回事
这个情况我也碰到过,就是vs的问题。。。简单的办法就是定义的时候带上命名空间。
System.Int32 num=0;
DataSet set = GetSet(...,out num);
从你的第2个错误推断可能是参数没写对,有VS异常截图吗
out是传出参数,与ref有点像,但偏重于输出,而且不用初始化,通过执行使用out参数的方法逻辑,out后面的数接受并返回这个值。
你参考一下下面的代码应该可以解决你的问题。
public DataSet getData(out int count)
{
dataset ds=bll.getdata(10,20);
int rcount=bll.GetCount();//比方说这个是取总记录数的
count=rcount;
return ds;
}
//显示的时候
public void showdata()
{
int count=0;
gridview1.datasource=getData(out count);
gridview1.databind();
label1.text="共有"+count.tostring()+"条记录";
}