日期:2014-05-18  浏览次数:20948 次

关于泛类型方法的调用问题
public   static   IList <CompanyProduct>   GetCompanyProducts(int   w_memberId)
                {
                        SqlParameter   parm   =   new   SqlParameter( "@MemberId ",   SqlDbType.Int,   4);
                        parm.Value=w_memberId;
                        IList <CompanyProduct>   companyProducts   =   new   List <CompanyProduct> ();
                        using   (SqlDataReader   rdr   =   SqlHelper.ExecuteReader(CommandType.StoredProcedure,   "CompanyProduct_SelectByMemberId ",   parm))
                        {
                                while   (rdr.Read())
                                {
                                        CompanyProduct   cpt   =   new   CompanyProduct(rdr.GetInt32(0),rdr.GetInt32(1),rdr.GetString(2),rdr.GetString(3)
                                                ,rdr.GetInt32(4),rdr.GetString(5),rdr.GetString(6),rdr.GetInt32(7),rdr.GetDouble(8),rdr.GetDouble(9),rdr.GetDouble(10),rdr.GetInt32(11),rdr.GetInt32(12));
                                        companyProducts.Add(cpt);
                                }
                                return   companyProducts;
                        }
                }
这是一个方法,我想在另一个页码调用这个方法,得到他的返回值companyProducts,并把返回值挨个传给文本框,请会的大哥指点下,谢谢

------解决方案--------------------
foreach(string s in GetCompanyProducts()[0])
{
txt.Text = s;
}
------解决方案--------------------
....无视我的存在..
static 不就直接 类名.GetCompanyProducts(w_memberId)....

------解决方案--------------------
静态方法调用 返回值 = 类名.方法名(参数);
IList <CompanyProduct> companyProducts = 类名.GetCompanyProducts(w_memberId);

------解决方案--------------------
ls正解 IList <CompanyProduct> companyProducts = 类名.GetCompanyProducts(w_memberId);不用new就是了
------解决方案--------------------
首先 static方法是一个静态的方法
直接调用即可

第二: 获得的结果是一个List
所以你需要先遍历List
然后
foreach(string s in GetCompanyProducts()[i]) //attention to here i
{
txt.Text = s;
}