MemberCollection クラス
Position、Level、または 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) のメンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。