c# - 无法访问 Table 上的 .ToList() 方法

标签 c# windows-phone-7

我正在尝试使用 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;
}
}

现在,我可以从我的 xaml.cs 文件访问表上的 .ToList() 方法。 即如果我说

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

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

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

我很好奇为什么它不起作用?这可能是我想念的愚蠢的东西。

最佳答案

ToListIEnumerable<T> 上的扩展方法: System.Linq.Enumerable.ToList 所以你需要为 System.Linq 添加一个 using命名空间,以便能够使用它。

编译器基本上是重写

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

作为

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

关于c# - 无法访问 Table 上的 .ToList() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7684008/

相关文章:

c# - 什么是最好的正则表达式生成器/解释器

c# - Windows Phone 7 Mango 保存 CookieContainer 的状态

c# - 提高从大型 XML 字符串反序列化的性能

windows-phone-7 - 应用栏图标文字长度

c# - Windows Phone 应用程序在不同设备上的测试

windows-phone-7 - 清理PhoneApplicationPage

c# - 重复的私有(private)成员变量是否优于共享的 protected 成员?

c# - 如何在正则表达式中使用变量?

c# - 我如何使用 linq 在 C# 中制作控制台应用程序来计算句子中的元音

c# - 将公共(public)属性用于内部和公共(public)使用还是分开使用?