Web-bővítmény Gyűjtemény Osztályok

Web-bővítmény Gyűjtemény Osztályok

Webkiterjesztés Gyűjtemény Osztályok

Ez az útmutató bemutatja, hogyan működnek a négy webkiterjesztés-gyűjtemény osztály a Aspose.Words FOSS-ban a .NET számára — TaskPaneCollection, WebExtensionBindingCollection, WebExtensionPropertyCollection, és WebExtensionReferenceCollection — egyetlen gyűjtemény-szerződést osztanak meg az absztrakt BaseWebExtensionCollection alap osztály. Arról, hogy a feladatablakok, kötések és webkiterjesztés-tulajdonságok valójában mit jelentenek, lásd a Web Extensions útmutató; ez az oldal csak a közös API konténert fedi le.


BaseWebExtensionCollection: Egy szerződés, négy gyűjtemény

BaseWebExtensionCollection az alaposztály a TaskPaneCollection, WebExtensionBindingCollection, WebExtensionPropertyCollection és WebExtensionReferenceCollection számára. Implementálja a IEnumerable<T> és meghatározza az összes tagot, amelyet ezek a négy konkrét gyűjtemények közzétesznek — a négy alosztály egyike sem deklarál további saját metódusokat vagy tulajdonságokat a bázisosztály által biztosítottakon túl.


Elemek hozzáadása, eltávolítása és számlálása

Add(item) hozzáadja a megadott elemet a gyűjteményhez. Clear() eltávolítja az összes elemet. Remove(index) eltávolítja a megadott indexű elemet — pozíciós index-t vesz, nem elemhivatkozást, ezért egy konkrét elem eltávolítása először az indexének megtalálását jelenti. Count jelentést tesz a gyűjteményben jelenleg lévő elemek számáról.


Gyűjtemény felsorolása

GetEnumerator() egy enumerátort ad vissza, amely képes végigjárni a gyűjteményt, így bármely BaseWebExtensionCollection-ből származó gyűjtemény támogatja a foreach ciklust az elemein, típus-specifikus iterációs kód nélkül.


Tippek és bevált gyakorlatok

  • Mivel a négy gyűjtemény ugyanazt az alapszerződést osztja meg, a BaseWebExtensionCollection Add, Clear, Remove, Count és GetEnumerator tagjai ellen írt kód egységesen működik a TaskPaneCollection, WebExtensionBindingCollection, WebExtensionPropertyCollection és WebExtensionReferenceCollection esetén.
  • Remove(index) egy pozíciós indexet vár — ha csak magát az elemet rendelkezésre áll, először járja be a gyűjteményt, hogy megtalálja az indexét, vagy nyomon kövesse az indexet a beszúráskor.
  • Olvassa be a Count értékét iterálás előtt, vagy foreach közvetlenül a gyűjteményen GetEnumerator() segítségével a manuális indexelés helyett, mivel az alapszerződés nem biztosít pozíciós lekérdezőt.
  • Hívja a Clear() függvényt, amikor egy gyűjteményt vissza kell állítani, ahelyett, hogy egy ciklusban ismételten hívná a Remove függvényt.

Gyakori problémák

ProblémaOkJavítás
Remove nem fogadja el magát az elemetRemove(index) a BaseWebExtensionCollection-ből származó gyűjteményeken pozíciós indexet vesz, nem referenciátElőször találd meg az elem indexét (például felsorolás közben), majd hívd meg a Remove(index)-t
Az egyik négy gyűjteményen való iterálás duplikáltnak tűnik a típusok közöttMinden gyűjtemény egy külön konkrét típus, de mindegyik megosztja a BaseWebExtensionCollection tagjaitÍrj megosztott iterációs vagy segédlogikát egyszer a Add, Clear, Remove, Count és GetEnumerator közös tagokkal, amelyek mind a négyben megtalálhatók
Nem tudom, mely konkrét gyűjteménytípusra van szükség egy kódrészletbenA négy gyűjtemény a WebExtension és a Document különböző tulajdonságaiból érhető elEllenőrizze a Web Extensions Útmutató arról, hogy melyik tulajdonság melyik gyűjteménytípust adja vissza

FAQ

Miért viselkednek ugyanúgy a négy web-extension gyűjtemény?

Mindegyik ugyanabból az absztrakt alaposztályból származik, BaseWebExtensionCollection, amely definiálja a Add, Clear, Remove, Count és GetEnumerator elemeket — a négy alosztály egyike sem ad hozzá saját tagot.

Hogyan távolíthatok el egy konkrét elemet ezek közül a gyűjtemények közül?

Hívja meg a Remove(index) függvényt az elem pozíciós indexével — ha csak az elem referenciája áll rendelkezésre, előbb enumerálja a gyűjteményt az index meghatározásához.

Iterálhatok bármelyik ezek közül a négy gyűjteményen ugyanúgy?

Igen — mind a négy megvalósítja a IEnumerable<T>-t a BaseWebExtensionCollection-ig, így a GetEnumerator() / foreach azonos módon működik mindegyiken.

Hol tanulhatom meg, hogy egy WebExtensionBinding vagy TaskPane elem valójában mit jelent?

Lásd a Web Extensions útmutató — ez az oldal csak a megosztott gyűjteménykonténer viselkedését tárgyalja, nem a gyűjtemények által tárolt domain objektumokat.


API Reference Összefoglaló

Osztály/MódszerLeírás
BaseWebExtensionCollectionAbsztrakt alaposztály, amelyet a négy web-kiterjesztés gyűjteménytípus közösen használ
BaseWebExtensionCollection.Add(item)Hozzáad egy elemet a gyűjteményhez
BaseWebExtensionCollection.Clear()Eltávolítja az összes elemet a gyűjteményből
BaseWebExtensionCollection.Remove(index)Eltávolítja a megadott indexnél lévő elemet
BaseWebExtensionCollection.GetEnumerator()Visszaad egy enumerátort a gyűjtemény bejárásához
BaseWebExtensionCollection.CountAz elemek száma a gyűjteményben
TaskPaneCollectionKonkrét BaseWebExtensionCollection a TaskPane elem közül
WebExtensionBindingCollectionKonkrét BaseWebExtensionCollection a WebExtensionBinding elem közül
WebExtensionPropertyCollectionKonkrét BaseWebExtensionCollection a WebExtensionProperty elem közül
WebExtensionReferenceCollectionKonkrét BaseWebExtensionCollection a WebExtensionReference elem közül

Lásd még:

 Magyar