Class ContentElementCollection
Collection of content elements.
Inheritance
Implements
Namespace: IronWord.Models.Abstract
Assembly: IronWord.dll
Syntax
public class ContentElementCollection : Object
Holding an ordered group of document nodes in C# is the job of ContentElementCollection. It is the list type IronWord uses to gather the content elements that belong together, exposing them through an indexer and standard iteration so you can walk, count, and address each item the same way you would any .NET collection. Where a single ContentElement is one node, this is the sequence of them.
A collection is created empty with new ContentElementCollection() or seeded from an existing IList<IWordDocumentObject> through the second constructor, which copies the supplied items in. From there a developer reads Count for the size, indexes into it with the [int index] indexer to fetch the item at a position, and iterates it with foreach because GetEnumerator returns an enumerator over IWordDocumentObject. Each entry is typed as IWordDocumentObject, the shared document-object contract, so the same collection can carry mixed content.
The lookup helpers cover the common positions: First and Last return the ends of the collection, and IndexOf reports where a given object sits, returning its zero-based position. Reach for these rather than re-implementing them when you need the leading or trailing element or want to confirm membership before editing. Because the collection enumerates IWordDocumentObject, it composes cleanly with LINQ when a richer query is needed, and the indexer makes a positional edit a one-line lookup. Treat the collection as the read side of a document region: walk it to inspect what is there, then act on the individual nodes through their own members.
using IronWord.Models.Abstract;
var collection = new ContentElementCollection();
Console.WriteLine(collection.Count);
foreach (var item in collection)
Console.WriteLine(item);The extract text how-to reads content out of a document, the add text how-to adds nodes to it, and the document element tutorial shows how nodes are grouped and traversed.
Constructors
ContentElementCollection()
Create an empty content element collection.
Declaration
public ContentElementCollection()
ContentElementCollection(IList<IWordDocumentObject>)
Add contents of a list to this collection.
Declaration
public ContentElementCollection(IList<IWordDocumentObject> collection_in)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IList<IronSoftware.Abstractions.Word.IWordDocumentObject> | collection_in |
Properties
Count
Number of objects in the collection.
Declaration
public int Count { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
Item[Int32]
Indexer to access content by index.
Declaration
public IWordDocumentObject this[int index] { get; }
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | index |
Property Value
| Type | Description |
|---|---|
| IronSoftware.Abstractions.Word.IWordDocumentObject |
Methods
First()
Get the first element of the collection.
Declaration
public IWordDocumentObject First()
Returns
| Type | Description |
|---|---|
| IronSoftware.Abstractions.Word.IWordDocumentObject |
GetEnumerator()
Get Enumerator for collection.
Declaration
public IEnumerator<IWordDocumentObject> GetEnumerator()
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IEnumerator<IronSoftware.Abstractions.Word.IWordDocumentObject> |
IndexOf(IWordDocumentObject)
Get index of specified object in collection.
Declaration
public int IndexOf(IWordDocumentObject item)
Parameters
| Type | Name | Description |
|---|---|---|
| IronSoftware.Abstractions.Word.IWordDocumentObject | item |
Returns
| Type | Description |
|---|---|
| System.Int32 |
Last()
Get the last element of the collection.
Declaration
public IWordDocumentObject Last()
Returns
| Type | Description |
|---|---|
| IronSoftware.Abstractions.Word.IWordDocumentObject |