/// <summary> /// Get superclasslist according to DC and classId. /// </summary> /// <param name="dc">A controller of Model Domain.</param> /// <param name="classId">An unique ID of a class.</param> /// <returns>Returns a list of super classes.</returns> public static Sequence <string> GetSuperClassList(ModelDomainController dc, string classId) { if (classId == StandardNames.topGovernsId || classId == StandardNames.top) { return(new Sequence <string>().Add(classId)); } else { ModelObject classObject = dc.GetClass(classId); return(GetSuperClassList(dc, (string)classObject[StandardNames.subClassOf]).Add(classId)); } }
static List <string> GetSuperClassChain(ModelDomainController dc, string classId) { if (classId == StandardNames.topGovernsId || classId == StandardNames.top) { return(new List <string>()); } else { ModelObject classObject = dc.GetClass(classId); var superClassList = GetSuperClassChain(dc, (string)classObject[StandardNames.subClassOf]); superClassList.Add(classId); return(superClassList); } }