How to remove internal interfaces from class help page?

Dec 27, 2011 at 10:47 AM

Hi,

I have a class that implements many internal interfaces and I would like that documentation reader cannot see that class implements all those internal interfaces because this information is irrelevant for the readers.

For example, if I have the following class:

public class MyPublicClass : MyBasePublicClass, MyPublicInterface, MyInternalInterface1, MyInternalInterface2, MyInternalInterface3
{

}

public class MyBasePublicClass
{

}

public interface MyPublicInterface
{
    // Interface members...
}

internal interface MyInternalInterface1
{
    // Interface members...
}

internal interface MyInternalInterface2
{
    // Interface members...
}

internal interface MyInternalInterface3
{
    // Interface members...
}
I want that documentation reader sees MyPublicClass as this:

public class MyPublicClass : MyBasePublicClass, MyPublicInterface
{

}

Is this possible to achieve with Sandcastle or SHFB and how?

Thank you!

Editor
Dec 27, 2011 at 5:04 PM

You can use the API Filter project property to remove unwanted elements from the help file.  I don't remember if they are removed as base classes in the class's heirarchy and syntax sections but they won't be included in the help file TOC or member pages.

Eric

 

Dec 28, 2011 at 2:45 PM

Hi,

my problem was that internal interfaces are not removed in syntax sections. API Filter doesn't remove them from syntax sections.

Anyway, I solved my problem by creating custom SHFB plug-in that hooks into SHFB after reflection info is generated. It then opens reflection info file and removes the information about implementing internal interfaces from types that implement internal interfaces and saves modified reflection info file.

Creating Build Process Plug-Ins page was very helpful. Thanks!

May 23, 2014 at 6:31 PM
I'm glad to hear that you solved your problem on your own. Would you mind to share your solution with us? That would help others too.