HierarchyCollection Class
Inheritance Hierarchy
System.Object
Microsoft.AnalysisServices.AdomdClient.HierarchyCollection
Namespace: Microsoft.AnalysisServices.AdomdClient
Assembly: Microsoft.AnalysisServices.AdomdClient (in Microsoft.AnalysisServices.AdomdClient.dll)
Syntax
'Declaration
Public NotInheritable Class HierarchyCollection _
Implements ICollection, IEnumerable
'Usage
Dim instance As HierarchyCollection
public sealed class HierarchyCollection : ICollection,
IEnumerable
public ref class HierarchyCollection sealed : ICollection,
IEnumerable
[<SealedAttribute>]
type HierarchyCollection =
class
interface ICollection
interface IEnumerable
end
public final class HierarchyCollection implements ICollection, IEnumerable
The HierarchyCollection type exposes the following members.
Properties
Name | Description | |
---|---|---|
Count | Gets the number of Hierarchy objects in the collection. | |
IsSynchronized | Gets a value indicating whether access to the collection is synchronized (thread safe). | |
Item[Int32] | Gets the specified Hierarchy from the collection by its index. In C#, this property is the indexer for the HierarchyCollection class. | |
Item[String] | Gets the specified Hierarchy from the collection by its name. In C#, this property is the indexer for the HierarchyCollection class. | |
SyncRoot | Gets an object that can be used to synchronize access to the collection. |
Top
Methods
Name | Description | |
---|---|---|
CopyTo | Copies the elements of the collection to the specified array. | |
Equals | (Inherited from Object.) | |
Finalize | (Inherited from Object.) | |
Find | Gets the specified Hierarchy from the collection by its name. | |
GetEnumerator | Gets an Enumerator for iterating through the collection. | |
GetHashCode | (Inherited from Object.) | |
GetType | (Inherited from Object.) | |
MemberwiseClone | (Inherited from Object.) | |
ToString | (Inherited from Object.) |
Top
Explicit Interface Implementations
Name | Description | |
---|---|---|
ICollection.CopyTo | ||
IEnumerable.GetEnumerator |
Top
Remarks
While the HierarchyCollection externally represents a collection of Hierarchy objects, the collection is internally loaded and managed in one of two ways, depending on the parent of the collection:
If the parent object was referenced as a result of a query, as in the case of a Set referenced from an Axis, the collection represents the members referenced by that query.
If the parent object was referenced as a result of a request for metadata, as in the case of a Dimension referenced from a CubeDef, the collection represents the members referenced by the definition of the parent object.
Examples
The following subroutine, given a Dimension, iterates through the HierarchyCollection collection and displays information about each hierarchy:
Public Overloads Sub ListHierarchies(ByRef DimToCheck As Dimension)
' Check the parameter before performing actions on it.
If DimToCheck Is Nothing Then
Throw New System.ArgumentNullException("DimToCheck")
Else
' Iterate through the Hierarchies collection of the
' Dimension object.
Try
Dim hierToCheck As Hierarchy
Debug.WriteLine("Found " & DimToCheck.Hierarchies.Count & _
" hierarchies in dimension:")
For Each hierToCheck In DimToCheck.Hierarchies
Debug.WriteLine("Hierarchy: " & hierToCheck.Name)
Debug.WriteLine(" Caption: " & _
hierToCheck.Caption)
Debug.WriteLine(" Description: " & _
hierToCheck.Description)
Debug.WriteLine(" UniqueName: " & _
hierToCheck.UniqueName)
Next
Catch ex As AdomdConnectionException
' The connection could not be opened or was disconnected.
' This error can occur at any time, if the provider is
' disconnected from the server.
Debug.WriteLine(ex)
Throw ex
Catch ex As AdomdErrorResponseException
' A response is received from a provider which indicates an error.
Debug.WriteLine(ex)
Throw ex
Catch ex As AdomdUnknownResponseException
' A response has been returned from the provider that
' was not understood.
Debug.WriteLine(ex)
Throw ex
Catch ex As AdomdCacheExpiredException
' A cached version of an ADOMD.NET object is no longer valid.
' This error is typically raised when reviewing metadata.
Debug.WriteLine(ex)
Throw ex
Catch ex As AdomdException
' Any other error raised by ADOMD.NET.
Debug.WriteLine(ex)
Throw ex
Catch ex As Exception
' Any other error.
Debug.WriteLine(ex)
Throw ex
End Try
End If
End Sub
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.