एक सूची <T> को एक ऑब्ज़र्वेबल कॉलेक्शन <T> में बदलें


117

मेरे पास एक List<T>JSON से आबादी है। मुझे इसे एक में बदलने की जरूरत हैObservableCollection<T> बांधने के लिए इसेGridView

कोई सुझाव?


डुप्लिकेट - stackoverflow.com/questions/9069445/…
vapcguy

जवाबों:


250

ओब्जर्वैबल कॉलेक्शन <T> का कंस्ट्रक्टर ओवरलोड है जो IEnumerable <T> लेता है

की सूची के लिए उदाहरण int:

ObservableCollection<int> myCollection = new ObservableCollection<int>(myList);

सूची के लिए एक और उदाहरण ObjectA:

ObservableCollection<ObjectA> myCollection = new ObservableCollection<ObjectA>(myList as List<ObjectA>);

मैं एक एक्सटेंशन विधि बनाने पर इसे पसंद करता हूं। निर्भरता को कम रखने में मदद करता है।
मार्कोस्टेट

1
इसके विपरीत कैसे प्राप्त करें?
अरुण प्रसाद

19

ObervableCollection में कंस्ट्रक्टर है जिसमें आप अपनी सूची पास कर सकते हैं। MSDN का हवाला देते हुए :

 public ObservableCollection(
      List<T> list
 )

6

ऑब्जर्वेबल कलेक्शन कंस्ट्रक्टर IList या IEnumerable ले जाएगा।

यदि आप पाते हैं कि आप बहुत कुछ करने जा रहे हैं, तो आप एक सरल एक्सटेंशन विधि बना सकते हैं:

    public static ObservableCollection<T> ToObservableCollection<T>(this IEnumerable<T> enumerable)
    {
        return new ObservableCollection<T>(enumerable);
    }
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.