IHierarchicalEnumerable Interface
Collapse the table of content
Expand the table of content

IHierarchicalEnumerable Interface


Represents a hierarchical collection that can be enumerated with an IEnumerator interface. Collections that implement the IHierarchicalEnumerable interface are used by ASP.NET site navigation and data source controls.

Namespace:   System.Web.UI
Assembly:  System.Web (in System.Web.dll)

public interface IHierarchicalEnumerable : IEnumerable


Returns an enumerator that iterates through a collection.(Inherited from IEnumerable.)


Returns a hierarchical data item for the specified enumerated item.


Overloaded. Enables parallelization of a query.(Defined by ParallelEnumerable.)


Overloaded. Converts an IEnumerable to an IQueryable.(Defined by Queryable.)


Casts the elements of an IEnumerable to the specified type.(Defined by Enumerable.)


Filters the elements of an IEnumerable based on a specified type.(Defined by Enumerable.)

The IHierarchicalEnumerable interface extends the IEnumerable interface and exposes GetHierarchyData, which is a method used to retrieve an IHierarchyData object from an enumerated item, in addition to the GetEnumerator method.

Typically, clients that use IHierarchicalEnumerable collections retrieve an IEnumerator object by calling the GetEnumerator method, then iterate through the enumeration and call the GetHierarchyData on each enumerated item to retrieve an IHierarchyData object.

The following code example demonstrates how to implement the IHierarchicalEnumerable interface with a class that extends ArrayList and provides a collection of IHierarchyData objects that wrap FileSystemInfo objects. The IHierarchicalEnumerable collection is used by classes that derive from HierarchicalDataSourceView to return a collection of hierarchical nodes when the Select method is called. This code example is part of a larger example provided for the HierarchicalDataSourceControl class.

// A collection of FileSystemHierarchyData objects
public class FileSystemHierarchicalEnumerable :
    ArrayList, IHierarchicalEnumerable
    public FileSystemHierarchicalEnumerable()
        : base()

    public IHierarchyData GetHierarchyData(object enumeratedItem)
        return enumeratedItem as IHierarchyData;

.NET Framework
Available since 2.0
Return to top
© 2015 Microsoft