public static string getPath(IMgaObject o) { MgaObject parent; GME.MGA.Meta.objtype_enum type; o.GetParent(out parent, out type); Stack <IMgaObject> stack = new Stack <IMgaObject>(); StringBuilder sb = new StringBuilder(); stack.Push(o); while (parent != null) { stack.Push(parent); parent.GetParent(out parent, out type); } foreach (var item in stack) { if (item != stack.Peek()) { sb.Append("/"); } sb.Append(item.Name); } return(sb.ToString()); }