无法访问表上的. tolist()方法

本文关键字:方法 tolist 访问表 | 更新日期: 2023-09-27 18:10:34

我正在尝试使用SilverlightPhoneDatabase为我的Windows Phone 7应用程序使用sqlite数据库。

dll中有一个类Database

    public class Database
    {
    .
    .
    .
    public Table<T> Table<T>();
    .
    .
    }

类Table的定义如下:

public class Table<T> : ObservableCollection<T>, ITable

然后在我的App.xaml我有一个方法

 public static Database MyDB
 {
get
{
// Delay creation of the view model until necessary
if (database == null)
OpenDatabase<MyObj>("MyObj");
return database;
}
}

现在,从我的example .cs文件中,我能够访问表上的. tolist()方法。如果我输入

App.MyDB.Table<MyObj>().ToList();

从我的main. example .cs,我可以访问ToList()方法(表类继承自ObservableCollection..)

但是我在同一个命名空间的新cs中创建了一个新类。如果我试图访问表类上的ToList()方法,我得到编译器错误,Table<>不包含'ToList'定义

我只是好奇为什么它不工作?这可能是我错过了一些愚蠢的东西。

无法访问表上的. tolist()方法

ToListIEnumerable<T>: System.Linq.Enumerable.ToList的扩展方法,因此您需要为System.Linq命名空间添加使用才能使用它。

编译器基本上重写了

App.MyDB.Table<MyObj>().ToList();

System.Linq.Enumerable.ToList(App.MyDB.Table<MyObj>());