如何从Sandcastle或SHFB生成的类帮助页面中删除内部接口?

时间:2011-12-27 10:57:44

标签: c# interface internal sandcastle shfb

我有一个实现了许多内部接口的类,我希望文档阅读器看不到该类实现了所有这些内部接口,因为这些信息与读者无关。

例如,如果我有以下类:

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...
}

我希望文档阅读器将MyPublicClass视为:

public class MyPublicClass : MyBasePublicClass, MyPublicInterface
{

}

这可以通过Sandcastle或SHFB实现吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

我正在运行Sandcastle帮助文件生成器GUI的1.9.3.0版,它在“可见性”部分中有一个DocumentInternals设置。此设置仅删除指向内部接口的链接并将其从文档中删除,但它们始终显示在类中。

所以我认为没有简单的方法可以解决这个问题。编辑Sandcastle文件可能是一种解决方案。

答案 1 :(得分:0)

我还在Sandcastle Codeplex讨论中提出了这个问题 - How to remove internal interfaces from class help page?

由于我没有得到足够的答案,我最终创建了一个自定义的Sandcastle帮助文件生成器插件,该插件在生成反射信息后挂钩到SHFB。

然后打开反射信息文件,从实现内部接口的类型中删除有关实现内部接口的信息,并保存修改后的反射信息文件。