次の方法で共有


HierarchyCollection クラス

Dimension または Set に含まれる Hierarchy オブジェクトの読み取り専用の要求時コレクションを含みます。

継承階層

System.Object
  Microsoft.AnalysisServices.AdomdClient.HierarchyCollection

名前空間:  Microsoft.AnalysisServices.AdomdClient
アセンブリ:  Microsoft.AnalysisServices.AdomdClient (Microsoft.AnalysisServices.AdomdClient.dll)

構文

'宣言
Public NotInheritable Class HierarchyCollection _
    Implements ICollection, IEnumerable
'使用
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

HierarchyCollection 型は、以下のメンバーを公開しています。

プロパティ

  名前 説明
パブリック プロパティ Count コレクションに含まれる Hierarchy オブジェクトの数を取得します。
パブリック プロパティ IsSynchronized コレクションへのアクセスが同期されるかどうか (スレッドセーフかどうか) を示す値を取得します。
パブリック プロパティ Item[Int32] 指定したインデックスの Hierarchy をコレクションから取得します。C# の場合、このプロパティは HierarchyCollection クラスのインデクサーとなります。
パブリック プロパティ Item[String] 指定した名前の Hierarchy をコレクションから取得します。C# の場合、このプロパティは HierarchyCollection クラスのインデクサーとなります。
パブリック プロパティ SyncRoot コレクションへのアクセスの同期に使用できるオブジェクトを取得します。

先頭に戻る

メソッド

  名前 説明
パブリック メソッド CopyTo 指定した配列にコレクションの要素をコピーします。
パブリック メソッド Equals (Object から継承されています。)
パブリック メソッド Find 指定した名前の Hierarchy をコレクションから取得します。
パブリック メソッド GetEnumerator コレクションの反復処理に使用する列挙子を取得します。
パブリック メソッド GetHashCode (Object から継承されています。)
パブリック メソッド GetType (Object から継承されています。)
パブリック メソッド ToString (Object から継承されています。)

先頭に戻る

明示的なインターフェイスの実装

  名前 説明
明示的なインターフェイスの実装プライベート メソッド ICollection.CopyTo 特定の配列インデックスを開始位置として、配列に HierarchyCollection の要素をコピーします。
明示的なインターフェイスの実装プライベート メソッド IEnumerable.GetEnumerator HierarchyCollection の反復処理に使用する列挙子を取得します。

先頭に戻る

説明

HierarchyCollection は、外部的には Hierarchy オブジェクトのコレクションを表し、内部的にはコレクションの親に応じて次の 2 つのうちいずれかの方法で読み込まれ、管理されます。

  • SetAxis から参照された場合のように、親オブジェクトがクエリの結果として参照された場合、コレクションはそのクエリによって参照されたメンバーを表します。

  • DimensionCubeDef から参照された場合のように、親オブジェクトがメタデータの要求の結果として参照された場合は、コレクションは親オブジェクトの定義により参照されたメンバーを表します。

使用例

次のサブルーチンでは、Dimension を受け取り、HierarchyCollection コレクションの繰り返し処理を実行し、各階層の情報を表示します。

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

スレッド セーフ

この型の public static (Visual Basic では Shared) のメンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

関連項目

参照

Microsoft.AnalysisServices.AdomdClient 名前空間