private void suppliersList_SelectionChanged(object sender, SelectionChangedEventArgs e)//组合框选项改变。
        {
            this.supplier = suppliersList.SelectedItem as Supplier;
            this.northwindContext.LoadProperty<Supplier>(this.supplier,s=>s.Products);//怎么理解?
            this.productsInfo = ((IListSource)supplier.Products).GetList();//怎么理解?
            productsList.DataContext = this.productsInfo;
        }背景:Supplier是对应数据库表的实体类;怎么理解第二三句话?好像第二句和第三句没有什么关系一样?

解决方案 »

  1.   

    s=>s.Products lambda表达式,相当于委托。
    delegate Products MyDelegate(Supplier str);泛型函数,第一个参数是一个对象,第二个是一个委托:
    LoadProperty<Supplier>(Supplier supplier,MyDelegate md);
    也可以这样写:
    LoadProperty<T>(T t, Func<T, Products> fun);((IListSource)supplier.Products).GetList();就是把Products转换为IList类型。
      

  2.   

    1、((IListSource)supplier.Products).GetList();就是把Products转换为IList类型。这个意思我理解了,但是为什么加(IListSource)?GetList()方法不是在定义类的时候就应该继承包含这个方法的接口吗?
    2、 this.northwindContext.LoadProperty<Supplier>(this.supplier,s=>s.Products)这一句能否说的再简单好理解一点?
      

  3.   

    或者对LoadProperty再举几个简单的例子
      

  4.   

    s谁能解释下LoadProperty吗?这个分就给他了!