Partager via


Classe MemberCollection

Gets a read-only, on-demand collection of Member objects contained by a Position, a Level, or a Tuple.

Hiérarchie d'héritage

System.Object
  Microsoft.AnalysisServices.AdomdClient.MemberCollection

Espace de noms :  Microsoft.AnalysisServices.AdomdClient
Assembly :  Microsoft.AnalysisServices.AdomdClient (en Microsoft.AnalysisServices.AdomdClient.dll)

Syntaxe

'Déclaration
Public NotInheritable Class MemberCollection _
    Implements ICollection, IEnumerable
'Utilisation
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

Le type MemberCollection expose les membres suivants.

Propriétés

  Nom Description
Propriété publique Count Gets the number of Member objects in the collection.
Propriété publique IsSynchronized Gets a value indicating whether access to the collection is synchronized (thread safe).
Propriété publique Item[Int32] Gets the specified Member from the collection by its index. In C#, this property is the indexer for the MemberCollection class.
Propriété publique Item[String] Gets the specified Member from the collection by its name. In C#, this property is the indexer for the MemberCollection class.
Propriété publique SyncRoot Gets an object that can be used to synchronize access to the collection.

Haut de la page

Méthodes

  Nom Description
Méthode publique CopyTo Copies the elements of the collection to the specified array.
Méthode publique Equals (hérité de Object.)
Méthode publique Find Returns the specified Member from the collection by its name.
Méthode publique GetEnumerator Gets an Enumerator for iterating through the collection.
Méthode publique GetHashCode (hérité de Object.)
Méthode publique GetType (hérité de Object.)
Méthode publique ToString (hérité de Object.)

Haut de la page

Implémentations d'interfaces explicites

  Nom Description
Implémentation d'interface expliciteMéthode privée ICollection.CopyTo Copies the elements of the MemberCollection to the destination array, starting at a particular array index.
Implémentation d'interface expliciteMéthode privée IEnumerable.GetEnumerator Gets the enumerator that iterates through the MemberCollection.

Haut de la page

Notes

Although the MemberCollection externally represents a collection of Member 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 Tuple, the collection represents the members referenced by that query.

  • If the parent object was referenced as a result of a request for metadata, the collection represents the members referenced by the definition of the parent object.

Exemples

The following subroutine, given a Level, iterates through the MemberCollection and displays information for each member.

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

Sécurité des threads

Tous les membres publics static (Shared dans Visual Basic) de ce type sont thread-safe. Tous les membres de l'instance ne sont pas garantis comme étant thread-safe.

Voir aussi

Référence

Espace de noms Microsoft.AnalysisServices.AdomdClient