luker - 2012-09-06

Hello experts,

I'm trying to document a software project I did in .NET2.0 (C#). I set doxygen up to use dot and to make the diagrams look like UML.

In my inheritance tree, there is a class I split into two files using C#'s partial keyword.

This class now has two "inheritance arrows" pointing at its superclass in the inheritance diagram.
The superclass even appears twice in the collaboration diagram. One of these appearances is hit by two "inheritance arrows". It's named <SuperClassName>. The other one's name is <Namespace.SuperClassName>. It is hit by a "composition arrow".

This behaviour also exists in another class's doxygen page. Let's call it ClassX. ClassX is composed of, among others, ClassY. ClassY is composed of, among others, ClassZ. Therefore, ClassZ is displayed in ClassX's collaboration diagram by the name <Namespace.ClassZ> hit by a "composition arrow".

ClassX is also composed of ClassW, which is a subclass of ClassZ. So ClassZ is displayed a second time within the same collaboration diagram, side by side with itself but by the name of <ClassZ> only and hit by an "inheritance arrow".

Both occurrences point inheritance arrows to the same superclass and set of interfaces.

Is there some switch in doxygen that I can set to make every class appear only once?