Web-Extension संग्रह वर्ग
वेब-एक्सटेंशन कलेक्शन क्लासेज
यह गाइड दिखाता है कि Aspose.Words FOSS for .NET में चार वेब-एक्सटेंशन संग्रह वर्ग कैसे — TaskPaneCollection, WebExtensionBindingCollection, WebExtensionPropertyCollection, और WebExtensionReferenceCollection — एब्स्ट्रैक्ट के माध्यम से एक एकल संग्रह अनुबंध को साझा करते हैं BaseWebExtensionCollection बेस क्लास। टास्क पैन, बाइंडिंग्स, और वेब एक्सटेंशन प्रॉपर्टीज़ वास्तव में क्या दर्शाते हैं, देखें वेब एक्सटेंशन गाइड; यह पेज केवल उन कंटेनर API को कवर करता है जो वे सभी साझा करते हैं।
BaseWebExtensionCollection: एक कॉन्ट्रैक्ट, चार संग्रह
BaseWebExtensionCollection TaskPaneCollection, WebExtensionBindingCollection, WebExtensionPropertyCollection, और WebExtensionReferenceCollection के लिए बेस क्लास है। यह IEnumerable<T> को लागू करता है और इन चार ठोस संग्रहों द्वारा उजागर किए गए प्रत्येक सदस्य को परिभाषित करता है — चारों सबक्लास में से कोई भी बेस क्लास द्वारा प्रदान किए गए से आगे अतिरिक्त मेथड्स या प्रॉपर्टीज़ घोषित नहीं करता।
आइटम जोड़ना, हटाना, और गिनना
Add(item) निर्दिष्ट आइटम को संग्रह में जोड़ता है। Clear() सभी तत्वों को हटा देता है। Remove(index) निर्दिष्ट इंडेक्स पर आइटम को हटाता है — यह एक पोज़िशनल index लेता है, न कि आइटम रेफ़रेंस, इसलिए किसी विशिष्ट आइटम को हटाने के लिए पहले उसका इंडेक्स ढूँढ़ना पड़ता है। Count वर्तमान में संग्रह में मौजूद तत्वों की संख्या रिपोर्ट करता है।
संग्रह का अनुक्रमण
GetEnumerator() एक enumerator लौटाता है जो संग्रह के माध्यम से इटररेट कर सकता है, इसलिए कोई भी BaseWebExtensionCollection-उत्पन्न संग्रह अपने आइटम्स पर foreach लूप का समर्थन करता है बिना प्रकार-विशिष्ट इटररेशन कोड के।
टिप्स और सर्वोत्तम प्रथाएँ
- क्योंकि सभी चार संग्रह समान बेस कॉन्ट्रैक्ट साझा करते हैं,
BaseWebExtensionCollectionकेAdd,Clear,Remove,Count, औरGetEnumeratorसदस्यों के खिलाफ लिखा गया कोडTaskPaneCollection,WebExtensionBindingCollection,WebExtensionPropertyCollection, औरWebExtensionReferenceCollectionमें समान रूप से काम करता है। Remove(index)एक स्थितिजन्य इंडेक्स लेता है — यदि आपके पास केवल आइटम स्वयं है, तो पहले संग्रह को इटररेट करके उसका इंडेक्स खोजें, या सम्मिलन के समय इंडेक्स को ट्रैक करें।- इटररेट करने से पहले
Countपढ़ें, याforeachसीधे संग्रह परGetEnumerator()के साथ करें बजाय मैन्युअल रूप से इंडेक्स करने के, क्योंकि बेस कॉन्ट्रैक्ट स्थितिजन्य getter को उजागर नहीं करता। - जब आपको एक संग्रह को रीसेट करने की आवश्यकता हो तो
Clear()को कॉल करें, बजाय लूप में बार-बारRemoveको कॉल करने के।
सामान्य समस्याएँ
| समस्या | कारण | सुधारें |
|---|---|---|
Remove आइटम को स्वयं स्वीकार नहीं करता | Remove(index) BaseWebExtensionCollection-डेराइव्ड कलेक्शन्स पर पोज़िशनल इंडेक्स लेता है, रेफ़रेंस नहीं | पहले आइटम का इंडेक्स खोजें (उदाहरण के लिए एने्यूमरेट करते समय), फिर Remove(index) को कॉल करें |
| चार कलेक्शनों में से एक पर इटरेट करना प्रकारों में दोहराव जैसा लगता है | प्रत्येक कलेक्शन एक अलग ठोस प्रकार है, लेकिन वे सभी BaseWebExtensionCollection के सदस्य साझा करते हैं | सभी चार में सामान्य Add, Clear, Remove, Count, और GetEnumerator सदस्यों के विरुद्ध साझा इटरेशन या यूटिलिटी लॉजिक एक बार लिखें |
| सुनिश्चित नहीं है कि कोड के एक टुकड़े को कौन सा ठोस संग्रह प्रकार चाहिए | चारों संग्रह WebExtension और Document पर विभिन्न गुणों से उजागर किए गए हैं | जाँचें वेब एक्सटेंशन गाइड कि कौन सा गुण कौन सा संग्रह प्रकार लौटाता है |
FAQ
चार वेब-एक्सटेंशन कलेक्शन एक ही तरह से क्यों व्यवहार करते हैं?
वे सभी एक ही एब्स्ट्रैक्ट बेस क्लास, BaseWebExtensionCollection, से व्युत्पन्न होते हैं, जो Add, Clear, Remove, Count और GetEnumerator को परिभाषित करता है — चारों सबक्लास में से कोई भी अपने स्वयं के सदस्य नहीं जोड़ता।
इनमें से किसी एक कलेक्शन से एक विशिष्ट आइटम को कैसे हटाऊँ?
Remove(index) को आइटम के पोज़िशनल इंडेक्स के साथ कॉल करें — यदि आपके पास केवल आइटम रेफ़रेंस है तो पहले कलेक्शन को एनीमरेट करके इंडेक्स खोजें।
क्या मैं इन चारों कलेक्शन में से किसी को भी उसी तरह इटरेट कर सकता हूँ?
हाँ — चारों ही IEnumerable<T> को BaseWebExtensionCollection तक लागू करते हैं, इसलिए GetEnumerator() / foreach उनके बीच समान रूप से काम करता है।
मैं यह कहाँ सीख सकता हूँ कि WebExtensionBinding या TaskPane आइटम वास्तव में क्या दर्शाता है?
देखें वेब एक्सटेंशन गाइड — यह पृष्ठ केवल साझा संग्रह कंटेनर व्यवहार को कवर करता है, न कि उन डोमेन ऑब्जेक्ट्स को जो संग्रह रखता है।
API Reference सारांश
| क्लास/मेथड | विवरण |
|---|---|
BaseWebExtensionCollection | सभी चार वेब-एक्सटेंशन कलेक्शन प्रकारों द्वारा साझा की गई Abstract base class |
BaseWebExtensionCollection.Add(item) | संग्रह में एक आइटम जोड़ता है |
BaseWebExtensionCollection.Clear() | संग्रह से सभी तत्व हटाता है |
BaseWebExtensionCollection.Remove(index) | निर्दिष्ट अनुक्रमणिका पर आइटम को हटाता है |
BaseWebExtensionCollection.GetEnumerator() | संग्रह को इटररेट करने के लिए एक enumerator लौटाता है |
BaseWebExtensionCollection.Count | संग्रह में तत्वों की संख्या |
TaskPaneCollection | ठोस BaseWebExtensionCollection of TaskPane items |
WebExtensionBindingCollection | Concrete BaseWebExtensionCollection WebExtensionBinding आइटम्स का |
WebExtensionPropertyCollection | Concrete BaseWebExtensionCollection WebExtensionProperty आइटम्स का |
WebExtensionReferenceCollection | Concrete BaseWebExtensionCollection WebExtensionReference आइटम्स का |