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

接口中返回IDataReader类型的方法
在接口类中定义了一个返回IDataReader类型的方法
public   interface   Icontract
{
      IDataReader   GetList(int   PageSize,   int   PageIndex,   string   strWhere);
}

继承的类中实现这个方法
public   class   contract:Icontract
{
  private   IDataReader   GetList(int   PageSize,   int   PageIndex,   string   strWhere)
        {
                int   num   =   PageIndex   *   PageSize;

                StringBuilder   strSql   =   new   StringBuilder();
                strSql.Append( "select     * ");
                strSql.Append( "   FROM   table ");
                if   (strWhere.Trim()   !=   " ")
                {
                        strSql.Append( "   where   "   +   strWhere);
                }

                SqlDataReader   dr   =   DbHelperSQL.ExecuteReader(strSql.ToString());
           
                for   (int   i   =   0;   i   <   (iPageSize   *   (iPageIndex   -   1));   i++)
                {
                        dr.Read();
                }              
                return   dr;
               
        }
}

出现错误:
“SQLServerDAL.contract”不会实现接口成员“IDAL.Icontract.GetList(int,   int,   string)”。“SQLServerDAL.contract.GetList(int,   int,   string)”或者是静态、非公共的,或者有错误的返回类型。

------解决方案--------------------
若要实现接口成员,类中的对应成员必须是公共的