MemberCollection Class

 

Updated: March 10, 2016

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

Namespace:   Microsoft.AnalysisServices.AdomdClient
Assembly:  Microsoft.AnalysisServices.AdomdClient (in Microsoft.AnalysisServices.AdomdClient.dll)

System.Object
  Microsoft.AnalysisServices.AdomdClient.MemberCollection

public sealed class MemberCollection : ICollection, IEnumerable

NameDescription
System_CAPS_pubpropertyCount

Gets the number of Member objects in the collection.

System_CAPS_pubpropertyIsSynchronized

Gets a value indicating whether access to the collection is synchronized (thread safe).

System_CAPS_pubpropertyItem[Int32]

Gets the specified Member from the collection by its index. In C#, this property is the indexer for the MemberCollection class.

System_CAPS_pubpropertyItem[String]

Gets the specified Member from the collection by its name. In C#, this property is the indexer for the MemberCollection class.

System_CAPS_pubpropertySyncRoot

Gets an object that can be used to synchronize access to the collection.

NameDescription
System_CAPS_pubmethodCopyTo(Member[], Int32)

Copies the elements of the collection to the specified array.

System_CAPS_pubmethodEquals(Object)

(Inherited from Object.)

System_CAPS_pubmethodFind(String)

Returns the specified Member from the collection by its name.

System_CAPS_pubmethodGetEnumerator()

Gets an Enumerator for iterating through the collection.

System_CAPS_pubmethodGetHashCode()

(Inherited from Object.)

System_CAPS_pubmethodGetType()

(Inherited from Object.)

System_CAPS_pubmethodToString()

(Inherited from Object.)

NameDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethodICollection.CopyTo(Array, Int32)

Copies the elements of the MemberCollection to the destination array, starting at a particular array index.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIEnumerable.GetEnumerator()

Gets the enumerator that iterates through the MemberCollection.

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.

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

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: