57

你会为命名空间编写 xml-doc 吗?如果是,如何以及在哪里?

我想,如果可能的话,可能是一个几乎是空的文件,如下所示:

/// <summary>
/// This namespace contains stuff
/// </summary>
namespace Some.Namespace
{

}

但这会奏效吗?既然你......“声明”,或者至少在所有其他文件中使用命名空间......如果你在同一个命名空间的其他地方写了一个 xml 文档会发生什么?一个会消失吗?或者它们会以某种方式合并?

4

7 回答 7

36

NDoc 通过识别NamespaceDoc位于每个命名空间中的特殊类并使用其中的文档来支持这一点。我没有尝试过,但 Sandcastle 似乎支持同样的技巧。

编辑: 例如:

namespace Some.Namespace
{
    /// <summary>
    /// This namespace contains stuff
    /// </summary>
    public static class NamespaceDoc
    {
    }
}
于 2009-04-27T12:13:58.963 回答
28

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 文件中编写更大的描述。这样,代码就不会被所有细节弄得杂乱无章,并且易于阅读。

于 2009-04-27T12:27:53.280 回答
18

Sandcastle 帮助文件生成器支持命名空间的注释。打开您的 Sandcastle 项目。在Project Properties窗口中导航到Summaries并单击Edit Namespace Summaries按钮。

在此处输入图像描述

于 2014-09-12T16:19:37.547 回答
2

如果您使用 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

于 2018-09-18T07:58:30.640 回答
1

您可以使用以下方法在 doxygen 中执行此操作:

/// <summary>
/// description
/// </summary>
namespace name{};

此外,最好在 NameSpaces.cs 文件中声明命名空间,并仅在此文件中注释它们。

于 2016-02-29T22:10:37.357 回答
0

不能在命名空间上添加注释。

http://ndoc.sourceforge.net/content/documenters.htm 上的 UseNamespaceDocSummaries

于 2009-04-27T12:10:01.640 回答
0

如果使用Monomdoc文档系统,您可以通过编辑 ns-*.xml 文档文件来记录命名空间成员。

有关更多详细信息,请参阅mdoc 文件格式文档

于 2009-09-22T02:32:16.420 回答