Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法访问表上的.ToList()方法_C#_Windows Phone 7_Tolist - Fatal编程技术网

C# 无法访问表上的.ToList()方法

C# 无法访问表上的.ToList()方法,c#,windows-phone-7,tolist,C#,Windows Phone 7,Tolist,我正在尝试使用SilverlightPhoneDatabase为我的Windows Phone 7应用程序使用sqlite db dll有一个类数据库 public class Database { . . . public Table<T> Table<T>(); . . } 公共类数据库 { . . . 公共表(); . . } 类表的定义如下: public class Table<T

我正在尝试使用SilverlightPhoneDatabase为我的Windows Phone 7应用程序使用sqlite db

dll有一个类数据库

    public class Database
    {
    .
    .
    .
    public Table<T> Table<T>();
    .
    .
    }
公共类数据库
{
.
.
.
公共表();
.
.
}
类表的定义如下:

public class Table<T> : ObservableCollection<T>, ITable
公共类表:ObservableCollection,ITable
然后在我的App.xaml中 我有办法

 public static Database MyDB
 {
get
{
// Delay creation of the view model until necessary
if (database == null)
OpenDatabase<MyObj>("MyObj");
return database;
}
}
公共静态数据库MyDB
{
得到
{
//将视图模型的创建延迟到必要时
if(数据库==null)
开放数据库(“MyObj”);
返回数据库;
}
}
现在,通过我的xaml.cs文件,我可以访问表上的.ToList()方法。 如果我说

App.MyDB.Table().ToList()

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

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


我只是好奇为什么它不起作用?我可能遗漏了一些愚蠢的东西。

ToList
IEnumerable
上的一个扩展方法:因此您需要为
系统添加一个using。Linq
命名空间才能使用它

编译器基本上是在重写

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

System.Linq.Enumerable.ToList(App.MyDB.Table());

是的,就是这样。。。真奇怪。。我右键单击时没有解决建议。如果您需要ReSharper对
使用
添加以使扩展方法工作,则visual studio不提供这些建议。
System.Linq.Enumerable.ToList(App.MyDB.Table<MyObj>());