你会为命名空间编写xml-doc吗?如果是的话,如何以及在哪里?
我认为,如果有可能,可能是一个几乎空的文件:
/// <summary>
/// This namespace contains stuff
/// </summary>
namespace Some.Namespace
{
}
但那会有用吗?既然你......“声明”,或者至少在所有其他文件中使用命名空间......如果你在同一个命名空间的其他地方写了一个xml文档的东西会怎么样?一个人会消失吗?或者他们会以某种方式合并?
答案 0 :(得分:32)
NDoc通过识别位于每个命名空间中的特殊NamespaceDoc
类并使用其中的文档来支持这一点。我没有尝试过,但Sandcastle似乎支持同样的技巧。
修改强> 例如:
namespace Some.Namespace
{
/// <summary>
/// This namespace contains stuff
/// </summary>
public static class NamespaceDoc
{
}
}
答案 1 :(得分:26)
Sandcastle不直接支持NamespaceDoc,但如果使用Sandcastle Help File Builder,则可以使用Tim提到的NamespaceDoc类。
namespace Example
{
/// <summary>
/// <para>
/// Summary
/// </para>
/// </summary>
/// <include file='_Namespace.xml' path='Documentation/*' />
internal class NamespaceDoc
{
}
}
SCHB还略微扩展了语法,允许直接从代码文件中嵌入代码示例。一个例子_Namespace.xml:
<?xml version="1.0" encoding="utf-8" ?>
<Documentation>
<summary>
<h1 class="heading">Example Namespace</h1>
<para>
This namespace is used in the following way:
</para>
<code source="Examples\Class.cs" lang="cs"></code>
<code source="Examples\Class.vb" lang="vbnet"></code>
<para>
Hopefully this helps!
</para>
</summary>
</Documentation>
在XML文件中包含文档允许您在代码中编写简短摘要,并在单独的XML文件中为帮助文件编写更大的描述。通过这种方式,代码不会被所有细节混乱,并且易于阅读。
答案 2 :(得分:16)
Sandcastle帮助文件构建器支持对命名空间的注释。打开您的Sandcastle项目。在Project Properties
窗口中,导航至Summaries
,然后点击Edit Namespace Summaries
按钮。
答案 3 :(得分:1)
你可以使用以下方法在doxygen中完成:
/// <summary>
/// description
/// </summary>
namespace name{};
此外,最好在NameSpaces.cs文件中声明名称空间,并仅在此文件中对其进行注释。
答案 4 :(得分:0)
答案 5 :(得分:0)
如果使用Mono的mdoc文档系统,您可以通过编辑ns - * .xml文档文件来记录命名空间成员。
有关详细信息,请参阅mdoc file format documentation。
答案 6 :(得分:0)
如果使用Sandcastle及其“帮助文件生成器”,则可以在项目中使用以下代码记录名称空间和命名空间组:
namespace Company.Product.Widgets
{
/// <summary>
/// These are the namespace comments for <c>Company.Product.Widgets</c>.
/// </summary>
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
class NamespaceDoc
{
}
}
如果项目启用了名称空间分组,则还可以使用NamespaceGroupDoc类以类似的方式维护名称空间组注释。以下是一个示例:
namespace Company.Product
{
/// <summary>
/// These are the group comments for namespaces in <c>Company.Product</c>.
/// </summary>
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
class NamespaceGroupDoc
{
}
}
要防止NamespaceDoc类出现在帮助文件中,请不要使用public关键字,并使用CompilerGenerated属性对其进行标记。
有关参考,请参见此处:https://ewsoftware.github.io/SHFB/html/48f5a893-acde-4e50-8c17-72b83d9c3f9d.htm