次の方法で共有


MemberCollection クラス

PositionLevel、または Tuple に含まれる Member オブジェクトの読み取り専用の要求時コレクションを取得します。

継承階層

System.Object
  Microsoft.AnalysisServices.AdomdClient.MemberCollection

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

構文

'宣言
Public NotInheritable Class MemberCollection _
    Implements ICollection, IEnumerable
'使用
Dim instance As MemberCollection
public sealed class MemberCollection : ICollection, 
    IEnumerable
public ref class MemberCollection sealed : ICollection, 
    IEnumerable
[<SealedAttribute>]
type MemberCollection =  
    class 
        interface ICollection 
        interface IEnumerable 
    end
public final class MemberCollection implements ICollection, IEnumerable

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

プロパティ

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

先頭に戻る

メソッド

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

先頭に戻る

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

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

先頭に戻る

説明

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

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

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

使用例

次のサブルーチンでは、Level を受け取り、MemberCollection の繰り返し処理を実行し、各メンバーの情報を表示します。

Public Overloads Sub ListMembers(ByRef LevelToCheck As Level)

    ' Check the parameter before performing actions on it.
    If LevelToCheck Is Nothing Then
        Throw New System.ArgumentNullException("LevelToCheck")
    Else
        ' Iterate through the Members collection of the
        ' Level object.

        Try
            Dim memberToCheck As Member

            Debug.WriteLine("Found " & LevelToCheck.GetMembers().Count& _
                " member(s) in level:")

            For Each memberToCheck In LevelToCheck.GetMembers()
                Debug.WriteLine("Member:  " & memberToCheck.Name)
                Debug.WriteLine("  Caption:          " & _
                    memberToCheck.Caption)
                Debug.WriteLine("  UniqueName:       " & _
                    memberToCheck.UniqueName)

                ' Note that the Children property loads a collection
                ' of Member objects on demand and
                ' therefore, slows performance when first
                ' referenced--you should instead use the 
                ' ChildCount property.
                Debug.WriteLine("  No. of children:  " & _
                    memberToCheck.ChildCount)
            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 名前空間