我知道我可以通过做来创建一个List<T>
from ,但是我怎样才能为一个实现同样的事情呢?IEnumerable<T>
myEnumerableCollection.ToList()
ObservableCollection<T>
问问题
2873 次
4 回答
9
您正在寻找的是扩展方法。
您可以像这样扩展IEnumerable<T>
类型:
namespace myNameSpace
{
public static class LinqExtensions
{
public static ObservableCollection<T> ToObservableCollection<T>(this IEnumerable<T> _LinqResult)
{
return new ObservableCollection<T>(_LinqResult);
}
}
}
不要忘记在要使用它的类中添加 using 指令(即using myNameSpace;
:)
于 2012-06-19T15:11:47.973 回答
5
为什么你需要投射它?这是常见操作的语法糖。
var observableCollection = new ObservableCollection<object>(regularCollection);
于 2012-06-19T15:11:35.773 回答
1
这对我有用:
List<string> ll = new List<string> { "a", "b","c" };
ObservableCollection<string> oc = new ObservableCollection<string>(ll);
于 2012-06-19T15:14:48.063 回答
0
您必须创建新的 ObservableCollection 实例,其中填充了您的集合(IEnumerable)。
于 2012-06-19T15:11:04.967 回答