CustomPartCollection

CustomPartCollection class

Representa una colección deCustomPart objetos.

Para obtener más información, visite elEtiquetas de documentos estructurados o control de contenido Artículo de documentación.

public class CustomPartCollection : IEnumerable<CustomPart>

Constructores

NombreDescripción
CustomPartCollection()Constructor predeterminado

Propiedades

NombreDescripción
Count { get; }Obtiene el número de elementos contenidos en la colección.
Item { get; set; }Obtiene o establece un elemento en el índice especificado.

Métodos

NombreDescripción
Add(CustomPart)Agrega un elemento a la colección.
Clear()Elimina todos los elementos de la colección.
Clone()Realiza una copia profunda de esta colección y sus elementos.
GetEnumerator()Devuelve un objeto enumerador que se puede utilizar para iterar sobre todos los elementos de la colección.
RemoveAt(int)Elimina un elemento en el índice especificado.

Observaciones

Normalmente no es necesario crear instancias de esta clase. Se accede a las partes personalizadas relacionadas con el paquete OOXML mediantePackageCustomParts propiedad.

Ejemplos

Muestra cómo acceder a la colección de partes personalizadas arbitrarias de un documento.

Document doc = new Document(MyDir + "Custom parts OOXML package.docx");

Assert.AreEqual(2, doc.PackageCustomParts.Count);

// Clona la segunda parte y luego agrega el clon a la colección.
CustomPart clonedPart = doc.PackageCustomParts[1].Clone();
doc.PackageCustomParts.Add(clonedPart);
Assert.AreEqual(3, doc.PackageCustomParts.Count);

// Enumerar la colección e imprimir cada parte.
using (IEnumerator<CustomPart> enumerator = doc.PackageCustomParts.GetEnumerator())
{
    int index = 0;
    while (enumerator.MoveNext())
    {
        Console.WriteLine($"Part index {index}:");
        Console.WriteLine($"\tName:\t\t\t\t{enumerator.Current.Name}");
        Console.WriteLine($"\tContent type:\t\t{enumerator.Current.ContentType}");
        Console.WriteLine($"\tRelationship type:\t{enumerator.Current.RelationshipType}");
        Console.WriteLine(enumerator.Current.IsExternal ?
            "\tSourced from outside the document" :
            $"\tStored within the document, length: {enumerator.Current.Data.Length} bytes");
        index++;
    }
}

//Podemos eliminar elementos de esta colección individualmente o todos a la vez.
doc.PackageCustomParts.RemoveAt(2);

Assert.AreEqual(2, doc.PackageCustomParts.Count);

doc.PackageCustomParts.Clear();

Assert.AreEqual(0, doc.PackageCustomParts.Count);

Ver también