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
in the upper-left corner of the page.