This project has moved. For the latest updates, please go here.

Not documenting the base class, but still document its members in derived classes

Topics: User Forum
Sep 19, 2012 at 10:14 AM

I have searched for the answer but could not find it. It seems my requirement is different from what other users wanted.

I have a base class, and some classes that derive from it. The base class is not of much use in the API, and I'd like it be not documented as such. That is, the documentation for the derived classes should show that they are derived from the base class, but there should be no entry in the TOC for the base class, nor any other way to get to its documentation.

But, when I put a XML comment on a member in the base class, it *should* show up as inherited, in the documentation for the derived class, together with its doc coming from the base class. This way, the users will be presented with proper and full doc for the derived class, but will not have to bother with the existence of the base class.

If I put <exclude/> on the base class, not only it hides the base class from the documentation, but its members also disappear from the documentation for the derived classes - and that's the problem - I want to see them there.

Is there a way to achieve this?

Sep 19, 2012 at 3:07 PM

The API Filter, which the <exclude /> tag is converted to, does remove all traces of the member or class.  The TOC Exclusion Plug-In can remove the class and/or members from the TOC.  The entries will still appear in the namespace list and the member list pages but that appears to be what you want.



Sep 19, 2012 at 3:28 PM

Thank you very much! I have tested what you suggested, and it works as you describe it. It is not *precisely* what I wanted - ideally I'd like the base class doc be not reachable by any links and only manifest itself through the documentation of inherited members in the derived classes. But reducing the TOC to the list of classes that are of interest to the user of my API was the primary goal, and thus using the <tocexclude /> with the plugin is good enough for me now.