8

System.ComponentModel.BindingList विधियों Add(object) और AddNew() के बीच क्या अंतर है? MSDN प्रलेखीकरण का कहना है यह:System.ComponentModel.BindingList: जोड़ें (ऑब्जेक्ट) बनाम AddNew()

  • Add: Collection<T> के अंत तक एक वस्तु को जोड़ता है।

  • AddNew: संग्रह में एक नया आइटम जोड़ता है।

ऐसा लगता है कि दोनों तरीकों संग्रह में कोई आइटम जोड़ने, लेकिन जबकि AddNew() थोड़ा अधिक जटिल है Add(object) एक शॉट में यह होता है। Add(object) के साथ मेरे परीक्षण काम कर रहे प्रतीत होते हैं, लेकिन मैं जानना चाहता हूं कि मैं सही विधि का उपयोग कर रहा हूं या नहीं।

तो इन तरीकों के बीच क्या अंतर है?

+4

AddNew एक 'खाली' वस्तु जोड़ता है। केवल डिफ़ॉल्ट कन्स्ट्रक्टर चलाया गया था। यह अन्य कक्षाओं को ऑब्जेक्ट प्रारंभ करने के लिए अनुमति देने के लिए AddingNew ईवेंट उठाता है। ध्यान दें कि इसकी गुणों को सेट करने के बाद EndNew को कॉल किया जाना चाहिए। यह स्पष्ट नहीं है कि आपके मामले में कौन सा 'बेहतर' है। सरल बेहतर है। –

+1

@ हंसपैसेंट आप एक जीवन बचाओ हैं! मैं अजीब व्यवहार का अनुभव कर रहा था क्योंकि मैं 'एंडन्यू' नहीं बुला रहा था और मैं बहुत उलझन में था। 'AddNew' पर मेटाडेटा वास्तव में इस आवश्यकता का जिक्र करना चाहिए! –

उत्तर

7

AddNew() आपके लिए ऑब्जेक्ट बनाता है (यही कारण है कि इसमें पैरामीटर नहीं है)।
इसे ग्रिड द्वारा उपयोग करने के लिए डिज़ाइन किया गया है, जो नहीं जानता कि Add() पर जाने के लिए कोई नई वस्तु कैसे बनाएं।