相关疑难解决方法(0)

IList <T>到ObservableCollection <T>

我在Silverlight应用程序中有一个方法,当前返回一个IList,我想找到最简单的方法将其转换为一个ObservableCollection:

public IList<SomeType> GetIlist()
{
   //Process some stuff and return an IList<SomeType>;
}

public void ConsumeIlist()
{
   //SomeCollection is defined in the class as an ObservableCollection

   //Option 1
   //Doesn't work - SomeCollection is NULL 
   SomeCollection = GetIlist() as ObservableCollection

   //Option 2
   //Works, but feels less clean than a variation of the above
   IList<SomeType> myList = GetIlist
   foreach (SomeType currentItem in myList)
   {
      SomeCollection.Add(currentEntry);
   }
}
Run Code Online (Sandbox Code Playgroud)

ObservableCollection没有一个构造函数,它将IList或IEnumerable作为参数,所以我不能简单地新建一个.是否有一种替代方案看起来更像是我缺少的选项1,或者我只是在这里太挑剔而且选项2确实是一个合理的选择.

此外,如果选项2是唯一真正的选项,是否有理由在IEnurerable上使用IList,如果我真正要做的就是迭代返回值并将其添加到其他类型的集合中?

提前致谢

c# silverlight

16
推荐指数
2
解决办法
2万
查看次数

标签 统计

c# ×1

silverlight ×1