Web-Extension-samlingsklasser

Web-Extension-samlingsklasser

Web-Extension-samlingsklasser

Den här guiden visar hur de fyra webbläsartilläggssamlingsklasserna i Aspose.Words FOSS för .NET — TaskPaneCollection, WebExtensionBindingCollection, WebExtensionPropertyCollection, och WebExtensionReferenceCollection — delar ett enda samlingsavtal via den abstrakta BaseWebExtensionCollection basklassen. För vad uppgiftspaneler, bindningar och webbläsartilläggsegenskaper faktiskt representerar, se Web Extensions guiden; den här sidan täcker endast den gemensamma API de alla delar.


BaseWebExtensionCollection: Ett kontrakt, fyra samlingar

BaseWebExtensionCollection är basklassen för TaskPaneCollection, WebExtensionBindingCollection, WebExtensionPropertyCollection och WebExtensionReferenceCollection. Den implementerar IEnumerable<T> och definierar varje medlem som dessa fyra konkreta samlingar exponerar — ingen av de fyra underklasserna deklarerar egna ytterligare metoder eller egenskaper utöver vad basklassen tillhandahåller.


Lägga till, ta bort och räkna objekt

Add(item) lägger till det angivna objektet i samlingen. Clear() tar bort alla element. Remove(index) tar bort objektet på det angivna indexet — den tar ett positions-index, inte en objektreferens, så att ta bort ett specifikt objekt innebär först att hitta dess index. Count rapporterar antalet element som för närvarande finns i samlingen.


Enumerera en samling

GetEnumerator() returnerar en enumerator som kan iterera genom samlingen, så varje BaseWebExtensionCollection-deriverad samling stödjer en foreach loop över sina objekt utan typ-specifik itereringskod.


Tips och bästa praxis

  • Eftersom alla fyra samlingarna delar samma grundkontrakt fungerar kod skriven mot BaseWebExtensionCollections Add, Clear, Remove, Count och GetEnumerator-medlemmar enhetligt över TaskPaneCollection, WebExtensionBindingCollection, WebExtensionPropertyCollection och WebExtensionReferenceCollection.
  • Remove(index) tar ett positionsindex — om du bara har själva objektet, enumerera samlingen för att först hitta dess index, eller spåra indexet vid insättningsögonblicket.
  • Läs Count innan du itererar, eller foreach över samlingen direkt med GetEnumerator() istället för att indexera manuellt, eftersom grundkontraktet inte exponerar en positionshämtare.
  • Anropa Clear() när du behöver återställa en samling istället för att upprepade gånger anropa Remove i en loop.

Vanliga problem

ProblemOrsakFixa
Remove accepterar inte själva objektetRemove(index) på BaseWebExtensionCollection-avledda samlingar tar ett positionsindex, inte en referensHitta först objektets index (t.ex. vid uppräkning), sedan anropa Remove(index)
Iterering av en av de fyra samlingarna känns duplicerad över typernaVarje samling är en separat konkret typ, men de delar alla BaseWebExtensionCollections medlemmarSkriv delad iterering eller verktygslogik en gång mot medlemmarna Add, Clear, Remove, Count och GetEnumerator som är gemensamma för alla fyra
Osäker på vilken konkret samlingstyp en koddel behöverDe fyra samlingarna exponeras från olika egenskaper på WebExtension och DocumentKontrollera Webbläsartillägg guide för vilken egenskap som returnerar vilken samlingstyp

FAQ

Varför beter de fyra web-extension-samlingarna sig på samma sätt?

De härstammar alla från samma abstrakta basklass, BaseWebExtensionCollection, som definierar Add, Clear, Remove, Count och GetEnumerator — ingen av de fyra subklasserna lägger till egna medlemmar.

Hur tar jag bort ett specifikt objekt från en av dessa samlingar?

Anropa Remove(index) med objektets positionsindex — lokalisera indexet genom att enumerera samlingen först om du bara har objektreferensen.

Kan jag iterera någon av dessa fyra samlingar på samma sätt?

Ja — alla fyra implementerar IEnumerable<T> via BaseWebExtensionCollection, så fungerar GetEnumerator() / foreach identiskt över dem.

Var kan jag lära mig vad ett WebExtensionBinding- eller TaskPane-objekt faktiskt representerar?

Se Webbläsartillägg guide — den här sidan täcker endast beteendet för den delade samlingsbehållaren, inte domänobjekten som samlingarna innehåller.


API Reference Sammanfattning

Klass/MetodBeskrivning
BaseWebExtensionCollectionAbstrakt basklass som delas av alla fyra webbläsartilläggssamlingstyper
BaseWebExtensionCollection.Add(item)Lägger till ett objekt i samlingen
BaseWebExtensionCollection.Clear()Tar bort alla element från samlingen
BaseWebExtensionCollection.Remove(index)Tar bort objektet på det angivna indexet
BaseWebExtensionCollection.GetEnumerator()Returnerar en enumerator för att iterera samlingen
BaseWebExtensionCollection.CountAntal element i samlingen
TaskPaneCollectionKonkreta BaseWebExtensionCollection av TaskPane objekt
WebExtensionBindingCollectionKonkreta BaseWebExtensionCollection av WebExtensionBinding objekt
WebExtensionPropertyCollectionKonkreta BaseWebExtensionCollection av WebExtensionProperty objekt
WebExtensionReferenceCollectionKonkreta BaseWebExtensionCollection av WebExtensionReference objekt

Se även

 Svenska