Clases de Colección de Extensiones Web

Clases de Colección de Extensiones Web

Clases de colección de Web-Extension

Esta guía muestra cómo las cuatro clases de colección de extensiones web en Aspose.Words FOSS para .NET — TaskPaneCollection, WebExtensionBindingCollection, WebExtensionPropertyCollection, y WebExtensionReferenceCollection — comparten un único contrato de colección a través de la clase abstract BaseWebExtensionCollection clase base. Para lo que los paneles de tareas, enlaces y propiedades de extensiones web realmente representan, consulte la Extensiones web guía; esta página cubre solo el contenedor API que todos comparten.


BaseWebExtensionCollection: Un contrato, cuatro colecciones

BaseWebExtensionCollection es la clase base para TaskPaneCollection, WebExtensionBindingCollection, WebExtensionPropertyCollection y WebExtensionReferenceCollection. Implementa IEnumerable<T> y define cada miembro que estas cuatro colecciones concretas exponen — ninguna de las cuatro subclases declara métodos o propiedades adicionales propias más allá de lo que proporciona la clase base.


Agregar, eliminar y contar elementos

Add(item) agrega el elemento especificado a la colección. Clear() elimina todos los elementos. Remove(index) elimina el elemento en el índice especificado — recibe un index posicional, no una referencia al elemento, por lo que eliminar un elemento específico implica primero localizar su índice. Count informa el número de elementos que hay actualmente en la colección.


Enumerar una colección

GetEnumerator() devuelve un enumerador que puede iterar a través de la colección, de modo que cualquier colección derivada de BaseWebExtensionCollection admite un bucle foreach sobre sus elementos sin código de iteración específico de tipo.


Consejos y Mejores Prácticas

  • Porque las cuatro colecciones comparten el mismo contrato base, el código escrito contra los miembros Add, Clear, Remove, Count y GetEnumerator de BaseWebExtensionCollection funciona de manera uniforme en TaskPaneCollection, WebExtensionBindingCollection, WebExtensionPropertyCollection y WebExtensionReferenceCollection.
  • Remove(index) recibe un índice posicional — si solo tienes el propio elemento, recorre la colección para encontrar su índice primero, o registra el índice en el momento de la inserción.
  • Lee Count antes de iterar, o foreach directamente sobre la colección con GetEnumerator() en lugar de indexar manualmente, ya que el contrato base no expone un getter posicional.
  • Llama a Clear() cuando necesites restablecer una colección en lugar de llamar repetidamente a Remove dentro de un bucle.

Problemas Comunes

ProblemaCausaCorregir
Remove no acepta el propio elementoRemove(index) en colecciones derivadas de BaseWebExtensionCollection toma un índice posicional, no una referenciaEncuentra primero el índice del elemento (por ejemplo mientras lo enumeras), luego llama a Remove(index)
Iterar una de las cuatro colecciones parece duplicado entre tiposCada colección es un tipo concreto separado, pero todas comparten los miembros de BaseWebExtensionCollectionEscribe la lógica de iteración o utilidad compartida una sola vez sobre los miembros Add, Clear, Remove, Count y GetEnumerator comunes a los cuatro
Unsure which concrete collection type a piece of code needsLas cuatro colecciones se exponen desde diferentes propiedades en WebExtension y DocumentConsulta el Web Extensions guía para saber qué propiedad devuelve qué tipo de colección

FAQ

¿Por qué las cuatro colecciones de extensiones web se comportan de la misma manera?

Todas derivan de la misma clase base abstracta, BaseWebExtensionCollection, que define Add, Clear, Remove, Count y GetEnumerator — ninguno de los cuatro subclases agrega sus propios miembros.

¿Cómo elimino un elemento específico de una de estas colecciones?

Llame a Remove(index) con el índice posicional del elemento — localice el índice enumerando la colección primero si solo tiene la referencia del elemento.

¿Puedo iterar cualquiera de estas cuatro colecciones de la misma manera?

Sí — los cuatro implementan IEnumerable<T> a través de BaseWebExtensionCollection, por lo que GetEnumerator() / foreach funciona idénticamente en todos ellos.

¿Dónde puedo aprender qué representa realmente un elemento WebExtensionBinding o TaskPane?

Ver el Extensiones web guía — esta página cubre solo el comportamiento del contenedor de colección compartido, no los objetos de dominio que contienen las colecciones.


Resumen de API Reference

Clase/MétodoDescripción
BaseWebExtensionCollectionClase base abstracta compartida por los cuatro tipos de colección de web-extension
BaseWebExtensionCollection.Add(item)Agrega un elemento a la colección
BaseWebExtensionCollection.Clear()Elimina todos los elementos de la colección
BaseWebExtensionCollection.Remove(index)Elimina el elemento en el índice especificado
BaseWebExtensionCollection.GetEnumerator()Devuelve un enumerador para iterar la colección
BaseWebExtensionCollection.CountNúmero de elementos en la colección
TaskPaneCollectionConcreto BaseWebExtensionCollection de TaskPane elementos
WebExtensionBindingCollectionConcreto BaseWebExtensionCollection de WebExtensionBinding elementos
WebExtensionPropertyCollectionConcreto BaseWebExtensionCollection de WebExtensionProperty elementos
WebExtensionReferenceCollectionConcreto BaseWebExtensionCollection de WebExtensionReference elementos

Ver también

 Español