private void method_2(IRelationshipClass irelationshipClass_0, IObject iobject_0, TreeNode treeNode_0, bool bool_3) { try { IObjectClass destinationClass; if (bool_3) { destinationClass = irelationshipClass_0.DestinationClass; } else { destinationClass = irelationshipClass_0.OriginClass; } TreeNode node = new TreeNode(destinationClass.AliasName) { Tag = destinationClass }; IEnumRelationship relationshipsForObject = irelationshipClass_0.GetRelationshipsForObject(iobject_0); relationshipsForObject.Reset(); for (IRelationship relationship2 = relationshipsForObject.Next(); relationship2 != null; relationship2 = relationshipsForObject.Next()) { if (relationship2.DestinationObject != null) { TreeNode node2 = new TreeNode(relationship2.DestinationObject.OID.ToString()) { Tag = relationship2.DestinationObject }; node.Nodes.Add(node2); } } if (node.Nodes.Count > 0) { treeNode_0.Nodes.Add(node); } } catch { } }
private void method_3(IFeature ifeature_2, TreeNode treeNode_0) { IObjectClass destinationClass; TreeNode node; IEnumRelationship relationshipsForObject; IRelationship relationship2; TreeNode node2; IEnumRelationshipClass class2 = ifeature_2.Class.get_RelationshipClasses(esriRelRole.esriRelRoleOrigin); class2.Reset(); IRelationshipClass class3 = class2.Next(); while (true) { if (class3 == null) { break; } try { destinationClass = class3.DestinationClass; node = new TreeNode(destinationClass.AliasName) { Tag = destinationClass }; relationshipsForObject = class3.GetRelationshipsForObject(ifeature_2); relationshipsForObject.Reset(); relationship2 = relationshipsForObject.Next(); while (relationship2 != null) { if (relationship2.DestinationObject != null) { node2 = new TreeNode(relationship2.DestinationObject.OID.ToString()) { Tag = relationship2.DestinationObject }; node.Nodes.Add(node2); } relationship2 = relationshipsForObject.Next(); } if (node.Nodes.Count > 0) { treeNode_0.Nodes.Add(node); } } catch { } class3 = class2.Next(); } class2 = ifeature_2.Class.get_RelationshipClasses(esriRelRole.esriRelRoleDestination); class2.Reset(); for (class3 = class2.Next(); class3 != null; class3 = class2.Next()) { destinationClass = class3.OriginClass; node = new TreeNode(destinationClass.AliasName) { Tag = destinationClass }; relationshipsForObject = class3.GetRelationshipsForObject(ifeature_2); relationshipsForObject.Reset(); for (relationship2 = relationshipsForObject.Next(); relationship2 != null; relationship2 = relationshipsForObject.Next()) { if (relationship2.OriginObject != null) { node2 = new TreeNode(relationship2.OriginObject.OID.ToString()) { Tag = relationship2.OriginObject }; node.Nodes.Add(node2); } } if (node.Nodes.Count > 0) { treeNode_0.Nodes.Add(node); } } }