Třídy kolekcí Web-Extension

Třídy kolekcí Web-Extension

Třídy kolekcí Web-Extension

Tento průvodce ukazuje, jak čtyři třídy kolekcí webových rozšíření v Aspose.Words FOSS pro .NET — TaskPaneCollection, WebExtensionBindingCollection, WebExtensionPropertyCollection, a WebExtensionReferenceCollection — sdílejí jedinou smlouvu o kolekci prostřednictvím abstraktní BaseWebExtensionCollection základní třídy. Pro to, co úlohové panely, vazby a vlastnosti webových rozšíření skutečně představují, viz Web Extensions průvodce; tato stránka pokrývá pouze kontejner API, který všichni sdílejí.


BaseWebExtensionCollection: Jedna smlouva, čtyři kolekce

BaseWebExtensionCollection je základní třída pro TaskPaneCollection, WebExtensionBindingCollection, WebExtensionPropertyCollection a WebExtensionReferenceCollection. Implementuje IEnumerable<T> a definuje každý člen, který tyto čtyři konkrétní kolekce vystavují — žádná ze čtyř podtříd neoznačuje další metody nebo vlastnosti nad rámec toho, co poskytuje základní třída.


Přidávání, odstraňování a počítání položek

Add(item) přidá zadanou položku do kolekce. Clear() odstraní všechny prvky. Remove(index) odstraní položku na zadaném indexu — přijímá poziční index, nikoli odkaz na položku, takže odstranění konkrétní položky znamená nejprve najít její index. Count vrací počet prvků aktuálně v kolekci.


Procházení kolekce

GetEnumerator() vrací enumerátor, který může procházet kolekci, takže jakákoli BaseWebExtensionCollection-odvozená kolekce podporuje foreach cyklus nad svými položkami bez kódu specifického pro typ.


Tipy a osvědčené postupy

  • Protože všechny čtyři kolekce sdílejí stejnou základní smlouvu, kód napsaný vůči členům Add, Clear, Remove, Count a GetEnumerator rozhraní BaseWebExtensionCollection funguje jednotně napříč TaskPaneCollection, WebExtensionBindingCollection, WebExtensionPropertyCollection a WebExtensionReferenceCollection.
  • Remove(index) přijímá poziční index — pokud máte jen samotnou položku, nejprve procházejte kolekci, abyste zjistili její index, nebo sledujte index při vkládání.
  • Přečtěte si Count před iterací, nebo foreach přímo nad kolekcí pomocí GetEnumerator() místo ručního indexování, protože základní smlouva neexponuje poziční getter.
  • Zavolejte Clear(), když potřebujete resetovat kolekci, místo opakovaného volání Remove v cyklu.

Běžné problémy

ProblémPříčinaOpravit
Remove nepřijímá samotnou položkuRemove(index) na kolekcích odvozených od BaseWebExtensionCollection přijímá poziční index, nikoli referenciNejprve najděte index položky (např. při výčtu), pak zavolejte Remove(index)
Iterace jedné ze čtyř kolekcí se zdá být duplicitní napříč typyKaždá kolekce je samostatný konkrétní typ, ale všechny sdílejí členy BaseWebExtensionCollectionNapište sdílenou iteraci nebo pomocnou logiku jednou proti členům Add, Clear, Remove, Count a GetEnumerator, které jsou společné všem čtyřem
Nejsem si jistý, jaký konkrétní typ kolekce kód potřebujeČtyři kolekce jsou k dispozici prostřednictvím různých vlastností na WebExtension a DocumentZkontrolujte Webová rozšíření průvodce, který popisuje, která vlastnost vrací jaký typ kolekce

FAQ

Proč se čtyři kolekce webových rozšíření chovají stejným způsobem?

Všechny jsou odvozeny ze stejné abstraktní základní třídy, BaseWebExtensionCollection, která definuje Add, Clear, Remove, Count a GetEnumerator — žádná ze čtyř podtříd nepřidává vlastní členy.

Jak mohu odstranit konkrétní položku z jedné z těchto kolekcí?

Zavolejte Remove(index) s pozičním indexem položky — pokud máte jen referenci na položku, nejprve zjistěte index enumerací kolekce.

Mohu iterovat některou z těchto čtyř kolekcí stejným způsobem?

Ano — všechny čtyři implementují IEnumerable<T> až BaseWebExtensionCollection, takže GetEnumerator() / foreach funguje identicky ve všech.

Kde se mohu dozvědět, co konkrétně představuje položka WebExtensionBinding nebo TaskPane?

Viz Webová rozšíření průvodce — tato stránka pokrývá pouze chování sdíleného kontejneru kolekce, nikoli doménové objekty, které kolekce obsahují.


API Reference Shrnutí

Třída/metodaPopis:
BaseWebExtensionCollectionAbstraktní základní třída sdílená všemi čtyřmi typy kolekcí webových rozšíření
BaseWebExtensionCollection.Add(item)Přidá položku do kolekce
BaseWebExtensionCollection.Clear()Odstraní všechny prvky ze sbírky
BaseWebExtensionCollection.Remove(index)Odstraní položku na zadaném indexu
BaseWebExtensionCollection.GetEnumerator()Vrátí enumerátor pro iteraci přes sbírku
BaseWebExtensionCollection.CountPočet prvků ve sbírce
TaskPaneCollectionKonkrétní BaseWebExtensionCollection z TaskPane položek
WebExtensionBindingCollectionKonkrétní BaseWebExtensionCollection z WebExtensionBinding položek
WebExtensionPropertyCollectionKonkrétní BaseWebExtensionCollection z WebExtensionProperty položek
WebExtensionReferenceCollectionKonkrétní BaseWebExtensionCollection z WebExtensionReference položek

Viz také:

 Čeština