कॉपी करने के लिए मैं एक ही ObservableCollection
कोकैसे नमूदार संग्रह
Observablecollection<A> aRef = new Observablecollection<A>();
bRef = aRef();
इस मामले में दोनों बिंदु है ... मैं एक अलग प्रतिलिपि कैसे करूं?
कॉपी करने के लिए मैं एक ही ObservableCollection
कोकैसे नमूदार संग्रह
Observablecollection<A> aRef = new Observablecollection<A>();
bRef = aRef();
इस मामले में दोनों बिंदु है ... मैं एक अलग प्रतिलिपि कैसे करूं?
यह करें:
// aRef being an Observablecollection
Observablecollection<Entity> bRef = new Observablecollection<Entity>(aRef);
यह एक नमूदार संग्रह पैदा करेगा लेकिन आइटम अभी भी मूल आइटम ओर इशारा करते हैं। यदि आपको मूल वस्तुओं की बजाय क्लोन को इंगित करने के लिए आइटमों की आवश्यकता है, तो आपको एक क्लोनिंग विधि को कार्यान्वित करने और फिर कॉल करने की आवश्यकता है।
अद्यतन
आप एक सूची में जोड़ने के लिए और फिर नमूदार संग्रह मूल सूची है कोशिश करते हैं, सिर्फ मूल सूची पारित करके ObservableCollection बनाएँ:
List<Entity> originalEnityList = GetThatOriginalEnityListFromSomewhere();
Observablecollection<Entity> bRef = new Observablecollection<Entity>(originalEnityList);
आप ICloneable
को लागू कर सकता है आप इकाई परिभाषा में इंटरफेस और फिर एक आंतरिक कलाकार के साथ ObservableCollection
की एक प्रति बनाते हैं। नतीजतन आपके पास पुरानी वस्तुओं के संदर्भ के बिना List
क्लोन होगा। तो फिर तुम बना सकते हैं अपने नए ObservableCollection
क्लोन कण List
public class YourEntity : ICloneable {
public AnyType Property { get; set; }
....
public object Clone()
{
return MemberwiseClone();
}
}
कार्यान्वयन होगा
var clonedList = originalObservableCollection.Select(objEntity => (YourEntity) objEntity.Clone()).ToList();
ObservableCollection<YourEntity> clonedCollection = new ObservableCollection<YourEntity>(clonedList);
धन्यवाद ... लेकिन मेरी असली मुद्दा मैं एक नमूदार संग्रह है ... जब मैं एक नया जोड़ने है आइटम .. यह यूआई में प्रतिबिंबित नहीं हो रहा है। तो अब मैं जो कर रहा हूं वह पूरे संग्रह को एक समशीतोष्ण संग्रह में कॉपी कर रहा है ... फिर अस्थायी संग्रह में नया आइटम जोड़ें। फिर अस्थायी संग्रह वापस वापस असाइन करें। – Relativity
मैंने अपडेट किया है। – Aliostad
लेकिन मेरे पास इनपुट के रूप में देखने योग्य संग्रह है। हां .... मेरे पास 120 वस्तुओं का एक अवलोकन संग्रह है..मैं इसमें नया आइटम जोड़ता हूं .. अब इसमें 121 आइटम हैं ... फिर यूआई को 121 आइटम – Relativity