2

List<T>を実行することでfromIEnumerable<T>を作成できることはわかって
myEnumerableCollection.ToList()いますが、同じことを に実装するにはどうすればよいObservableCollection<T>でしょうか?

4

4 に答える 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

コレクション(IEnumerable)が設定された新しい ObservableCollection インスタンスを作成する必要があります。

于 2012-06-19T15:11:04.967 に答える