Clase de colecție Web-Extension

Clase de colecție Web-Extension

Clasele de colecție Web-Extension

Acest ghid arată cum cele patru clase de colecție de extensii web din Aspose.Words FOSS pentru .NET — TaskPaneCollection, WebExtensionBindingCollection, WebExtensionPropertyCollection, și WebExtensionReferenceCollection — partajează un singur contract de colecție prin abstract BaseWebExtensionCollection clasă de bază. Pentru a vedea ce reprezintă panourile de sarcini, legăturile și proprietățile extensiilor web, vezi Extensii Web ghid; această pagină acoperă doar containerul API pe care îl împărtășesc toate.


BaseWebExtensionCollection: Un contract, patru colecții

BaseWebExtensionCollection este clasa de bază pentru TaskPaneCollection, WebExtensionBindingCollection, WebExtensionPropertyCollection și WebExtensionReferenceCollection. Ea implementează IEnumerable<T> și definește fiecare membru pe care aceste patru colecții concrete îl expun — niciunul dintre cele patru subclase nu declară metode sau proprietăți suplimentare în afara celor furnizate de clasa de bază.


Adăugarea, eliminarea și numărarea elementelor

Add(item) adaugă elementul specificat în colecție. Clear() elimină toate elementele. Remove(index) elimină elementul de la indexul specificat — primește un index pozițional, nu o referință la element, astfel că eliminarea unui element specific înseamnă mai întâi localizarea indexului său. Count raportează numărul de elemente aflate în prezent în colecție.


Enumerarea unei colecții

GetEnumerator() returnează un enumerator care poate itera prin colecție, astfel că orice colecție derivată din BaseWebExtensionCollection suportă o buclă foreach peste elementele sale fără cod de iterare specific tipului.


Sfaturi și cele mai bune practici

  • Deoarece toate cele patru colecții împărtășesc același contract de bază, codul scris împotriva membrilor Add, Clear, Remove, Count și GetEnumerator ai lui BaseWebExtensionCollection funcționează uniform pe TaskPaneCollection, WebExtensionBindingCollection, WebExtensionPropertyCollection și WebExtensionReferenceCollection.
  • Remove(index) primește un index pozițional — dacă ai doar elementul în sine, enumeră colecția pentru a-i găsi mai întâi indexul, sau urmărește indexul în momentul inserării.
  • Citește Count înainte de a itera, sau foreach direct peste colecție cu GetEnumerator() în loc să indexezi manual, deoarece contractul de bază nu expune un getter pozițional.
  • Apelează Clear() când ai nevoie să resetezi o colecție în loc să apelezi repetat Remove într-o buclă.

Probleme comune

ProblemăCauzăRemediere
Remove nu acceptă elementul în sineRemove(index) pe colecțiile derivate din BaseWebExtensionCollection ia un index pozițional, nu o referințăMai întâi găsește indexul elementului (de exemplu în timpul enumerării), apoi apelează Remove(index)
Iterarea uneia dintre cele patru colecții pare duplicată între tipuriFiecare colecție este un tip concret separat, dar toate împărtășesc membrii lui BaseWebExtensionCollectionScrie o singură dată iterația sau logica utilitară pentru membrii Add, Clear, Remove, Count și GetEnumerator comuni tuturor celor patru
Nu sunt sigur ce tip concret de colecție îi trebuie unei bucăți de codCele patru colecții sunt expuse din proprietăți diferite pe WebExtension și DocumentVerifică Web Extensions ghid pentru care proprietate returnează ce tip de colecție

FAQ

De ce se comportă în același mod cele patru colecții de extensii web?

Toate derivă din aceeași clasă de bază abstractă, BaseWebExtensionCollection, care definește Add, Clear, Remove, Count și GetEnumerator — niciuna dintre cele patru subclase nu adaugă membri proprii.

Cum pot elimina un element specific din una dintre aceste colecții?

Apelă Remove(index) cu indicele pozițional al elementului — localizează indicele enumerând colecția mai întâi dacă ai doar referința la element.

Pot itera oricare dintre aceste patru colecții în același mod?

Da — toate cele patru implementează IEnumerable<T> prin BaseWebExtensionCollection, astfel încât GetEnumerator() / foreach funcționează identic în toate.

Unde pot afla ce reprezintă de fapt un element WebExtensionBinding sau TaskPane?

Vezi Web Extensions ghid — această pagină acoperă doar comportamentul containerului de colecție partajat, nu obiectele de domeniu pe care colecțiile le conțin.


API Reference Rezumat

Clasă/MetodăDescriere:
BaseWebExtensionCollectionClasă de bază abstractă partajată de toate cele patru tipuri de colecții web-extension
BaseWebExtensionCollection.Add(item)Adaugă un element la colecție
BaseWebExtensionCollection.Clear()Elimină toate elementele din colecție
BaseWebExtensionCollection.Remove(index)Elimină elementul de la indexul specificat
BaseWebExtensionCollection.GetEnumerator()Returnează un enumerator pentru iterarea colecției
BaseWebExtensionCollection.CountNumărul de elemente din colecție
TaskPaneCollectionConcret BaseWebExtensionCollection de TaskPane elemente
WebExtensionBindingCollectionConcret BaseWebExtensionCollection de WebExtensionBinding elemente
WebExtensionPropertyCollectionConcret BaseWebExtensionCollection din WebExtensionProperty elemente
WebExtensionReferenceCollectionConcret BaseWebExtensionCollection din WebExtensionReference elemente

Vezi și:

 Română