LINQ in Windows 8.1 Universal Apps



我正在使用Windows 8.1通用应用程序,并将我的共享代码放在共享项目中。

我有一个 ViewModel,它需要调用 LINQ 方法来将属性重置为列表中的第一项,这是代码。

public ObservableCollection<Movie> Movies { get; set; }
public Movie Current { get; set; }
...
public void Reset()
{
   this.Current = this.Movies.FirstOrDefault();
}
但是,似乎

LINQ 在共享项目中不可用,我无法添加引用。

但是,我可以在 Windows 8.1 和 Windows Phone 8.1 项目中使用 LINQ,因此我可能会在每个项目中创建一个类并从我的 ViewModel 继承,并为每个项目单独实现它。但这似乎对我想要实现的目标有些矫枉过正。

谁能救我?

如果我

理解正确,并且您想将电流重置为指向/引用电影集合中的第一个元素,请使用:

this.current = this.Movies.Item[0];

请参阅:集合项属性

我会这样做。由于不能将 Linq 包含在共享库中,因此可以创建一个使用该类的类并传递该类

Class MovieViewModel
{
    private IEnumerable<Movie> _movie;
    // your sorting logic here
    this.Current = this.Movies.FirstOrDefault();
}

或者创建一个静态扩展方法,您可以将集合传递给该方法并对它们进行排序。这样,您就可以使用任何视图模型调用它

最新更新