作为一个初学者,我想爆头了也想不出个所以然来,那位大哥解说一下,谢谢,一段读取数据源程序:var products = ProductManager.GetAllProductsDisplayedOnHomePage();
  if (products.Count > 0)
  {
  dlCatalog.DataSource = products;
  dlCatalog.DataBind();
  }
----->2.
public static ProductCollection GetAllProductsDisplayedOnHomePage()
  {
    
  var dbCollection = DBProviderManager<DBProductProvider>.Provider.GetAllProductsDisplayedOnHomePage(showHidden, languageId);
  var products = DBMapping(dbCollection);
  return products;
  }
----> 3.
public abstract DBProductCollection GetAllProductsDisplayedOnHomePage(bool showHidden,
  int languageId);这三段程序是用VS转定义跟踪到的,到最后一段程序后,就没下文了,不明白怎么不见读取数据就能取到数据了???GetAllProductsDisplayedOnHomePage();--->2.GetAllProductsDisplayedOnHomePage();
...Provider.GetAllProductsDisplayedOnHomePage(showHidden, languageId);---->3.GetAllProductsDisplayedOnHomePage(bool showHidden,int languageId);
.....3.最后一段抽象方法就这样结束了,根本就没见我们平时连接数据一样读取数据嘛???

解决方案 »

  1.   

    我想说的是,你需要把基础打牢,其实肯定是有取数据的方法的。dlCatalog.DataSource = products;这个products 其实就一个数据源,你可以找到返回这个变量的函数 一步一步往下调试 就可以找到了,这些代码对数据库的操作都是封装到类里面的!
      

  2.   

    var products = ProductManager.GetAllProductsDisplayedOnHomePage();
    奥妙就在这句,它把访问数据库的代码进行了封装。封装到了GetAllProductsDisplayedOnHomePage()函数中,你顺着这个线索一定可以找到访问数据库的代码。
      

  3.   

    右键在GetAllProductsDisplayedOnHomePage()函数上单击,在快捷菜单中选“跳转到定义”
      

  4.   


    //给你个参考:类 Square 必须提供 Area 的实现,因为它派生自 ShapesClass
    //所以你的项目中肯定有一个派生类来实现获取数据的方法,设置断点,F11一步步走你就知道了
    abstract class ShapesClass
    {
        abstract public int Area();
    }
    class Square : ShapesClass
    {
        int x, y;
        // Not providing an Area method results
        // in a compile-time error.
        public override int Area()
        {
            return x * y;
        }
    }
      

  5.   

    等了一个晚目,没一下正解的,二楼dlCatalog.DataSource = products,我当然知道PRODUCTS是个数据集了,我就是转定义它,一直找到第三步还找不到终端...你们都还没看完就答题...
      

  6.   

    //给你个参考:类 Square 必须提供 Area 的实现,因为它派生自 ShapesClass
    //所以你的项目中肯定有一个派生类来实现获取数据的方法,设置断点,F11一步步走你就知道了
    abstract class ShapesClass
    {
        abstract public int Area();
    }
    class Square : ShapesClass
    {
        int x, y;
        // Not providing an Area method results
        // in a compile-time error.
        public override int Area()
        {
            return x * y;
        }
    }