Share via


MemberPropertyCollection Class

Gets a read-only, on-demand collection of MemberProperty objects contained by a Member.

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

Syntax

'Declaration
Public NotInheritable Class MemberPropertyCollection _
    Implements ICollection, IEnumerable
'Usage
Dim instance As MemberPropertyCollection
public sealed class MemberPropertyCollection : ICollection, 
    IEnumerable
public ref class MemberPropertyCollection sealed : ICollection, 
    IEnumerable
[<SealedAttribute>]
type MemberPropertyCollection =  
    class
        interface ICollection
        interface IEnumerable
    end
public final class MemberPropertyCollection implements ICollection, IEnumerable

Remarks

Although the MemberPropertyCollection collection externally represents a collection of MemberProperty objects for a specified Member, the collection is internally loaded and managed in one of two ways, depending on the parentage of the Member:

  • If the Member was referenced through the use of a CubeDef in order to retrieve metadata from the server, the collection represents the member properties that are defined for the level of the member represented by the Member.

  • If the Member was referenced through the use of a CellSet in order to retrieve metadata from a query, the collection represents the member properties that are retrieved for the set (or axis) containing the member represented by the Member.

Examples

The following subroutine, given a Member, iterates through the MemberPropertyCollection collection and displays information for each member property:

Public Sub ListMemberPropertyCollection(ByRef MemberToCheck As Member)

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

        Try
            Dim propToCheck As MemberProperty

            Debug.WriteLine("Found " & _
                MemberToCheck.MemberProperties.Count & _
                " member properties in member:")

            For Each propToCheck In MemberToCheck.MemberProperties
                Debug.WriteLine("Member Property:  " & propToCheck.Name)
                Debug.WriteLine("  Value:        " & _
                    propToCheck.Value)
            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

Inheritance Hierarchy

System.Object
  Microsoft.AnalysisServices.AdomdClient.MemberPropertyCollection

Thread Safety

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