ArcObjects Library Reference  (GeoDatabase)    

IObjectClass Example

The following example shows how to get the name of the relationship classes that a particular feature class participates in. The example shows functionality that is specific to IObjectClass, but in this case it is used from the IFeatureClass interface, which inherits from IObjectClass.

[Visual Basic 6.0]
' create the workspace object and connect to the SDE server Dim pWorkspace As IWorkspace Dim pWorkspaceFactory As IWorkspaceFactory Dim pPropertySet As IPropertySet Set pPropertySet = New PropertySet Set pWorkspaceFactory = New SdeWorkspaceFactory With pPropertySet .SetProperty "server", "mickey" .SetProperty "instance", "5151" .SetProperty "user", "gdb" .SetProperty "password", "gdb" .SetProperty "version", "SDE.DEFAULT" End With Set pWorkspace = pWorkspaceFactory.Open(pPropertySet, 0) ' QI for IFeatureWorkspace Dim pFeatureWorkspace As IFeatureWorkspace Set pFeatureWorkspace = pWorkspace ' Open a feature class Dim pFeatureClass As IFeatureClass Set pFeatureClass = pFeatureWorkspace.OpenFeatureClass("gdb.Landmarks") ' Print the ObjectClass alias and object class ID Debug.Print pFeatureClass.AliasName Debug.Print pFeatureClass.ObjectClassID ' Find all of the relationship classes this object class ' participates in Dim pEnumRelationshipclass As IEnumRelationshipClass Set pEnumRelationshipclass = pFeatureClass.RelationshipClasses(esriRelRoleAny) Dim pRelationshipClass As IRelationshipClass Dim pDataset As IDataset Set pRelationshipClass = pEnumRelationshipclass.Next While Not pRelationshipClass Is Nothing ' QI for IDataset and print its name Set pDataset = pRelationshipClass Debug.Print pDataset.Name Set pRelationshipClass = pEnumRelationshipclass.Next Wend

[C#]

    //IObjectClass Example

    public void IObjectClass_Example(IFeatureClass featureClass)
    {
        //This function shows how to get the name of the relationship classes that a
        //particular feature class participates in. The example shows functionality that is
        //specific to IObjectClass, but in this case it is used from the IFeatureClass interface,
        //which inherits from IObjectClass.

        //print the IOjectClass alias and object class ID
        Console.WriteLine("Alias of feature Class is: {0}", featureClass.AliasName);
        Console.WriteLine("ObjectClassID of feature class is: {1}", featureClass.ObjectClassID);

        //find all of the relationship classes this object class participates in
        IEnumRelationshipClass enumRelationshipClass = featureClass.get_RelationshipClasses(esriRelRole.esriRelRoleAny);
        IDataset dataset;
        IRelationshipClass relationshipClass = enumRelationshipClass.Next();
        while (relationshipClass != null)
        {
            //cast for IDataset and print its name
            dataset = (IDataset)relationshipClass;
            Console.WriteLine("The name of the relationship class is: {0}", dataset.Name);
            relationshipClass = enumRelationshipClass.Next();
        }
    }


[Visual Basic .NET, C++]
No example is available for Visual Basic .NET or C++. To view a Visual Basic 6.0 or C# example, click the Language Filter button Language Filter in the upper-left corner of the page.