Assembly: Microsoft.AnalysisServices.AdomdClient (in Microsoft.AnalysisServices.AdomdClient.dll)
Thetype exposes the following members.
|Count||Gets the number of Member objects in the collection.|
|IsSynchronized||Gets a value indicating whether access to the collection is synchronized (thread safe).|
|Item[Int32]||Gets the specified Member from the collection by its index. In C#, this property is the indexer for the class.|
|Item[String]||Gets the specified Member from the collection by its name. In C#, this property is the indexer for the class.|
|SyncRoot||Gets an object that can be used to synchronize access to the collection.|
|CopyTo||Copies the elements of the collection to the specified array.|
|Equals||(Inherited from Object.)|
|Finalize||(Inherited from Object.)|
|Find||Returns the specified Member from the collection by its name.|
|GetEnumerator||Gets an Enumerator for iterating through the collection.|
|GetHashCode||(Inherited from Object.)|
|GetType||(Inherited from Object.)|
|MemberwiseClone||(Inherited from Object.)|
|ToString||(Inherited from Object.)|
Although the 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 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