问题 c#中备注标记的用途是什么


我知道remarks标签用于提供有关该类的其他信息,但在悬停/调用该类时它不会显示在intellisense中。我想知道它到底有用吗?


10537
2018-05-29 07:29


起源

不幸的是,没有一个答案能真正回答标题中的问题: 什么目的 备注标记在c#中。我应该在这里写什么,不写什么? - pkuderov


答案:


备注用于构建文档文件。它们用于更详细的注释,向“摘要”标记添加补充信息(“摘要”标记在智能感知中显示)。

生成的文档文件将采用XML格式。

要生成文档文件,您需要添加“/ doc”编译器选项。 在visual studio中,您可以通过以下方式启用XML文档文件的生成:

  1. 右键单击项目名称 - >属性
  2. 转到“构建”选项卡
  3. 启用(检查)XML文档文件选项

8
2018-05-29 07:37



谢谢。这很好地解释了。 - Kalyani Ramamurthy


在生成文档时,.NET中的许多标记确实被利用了。也许,最受欢迎的,我使用的是Sandcastle。

这是一篇讨论该主题的相当古老的博客文章,但你会明白这一点:

“我认为大多数开发人员都知道使用XML代码注释来装饰.NET对象的概念。实际上有两个好处:1)当你使用对象时它会在intellisense中显示这些信息; 2)你可以生成组件文档像MSDN一样。“

资源 : XML代码评论和Sandcastle,神秘! 


3
2018-05-29 07:47





这些标签由Visual Studio使用 智能感知 提供有关您创建的类,函数和属性的提示,如果它们是按如下方式正确创建的:

C# (以及使用Visual Studio的代码编辑器)通过键入可以轻松完成 /// (三个正斜线而不是两个)并按回车键。

这将创建“XML注释”并为您添加最常用的标记(例如,方法的每个参数的参数标记)。  
如果光标位于类上方,则会创建一个 <summary> 标签,如果它在方法之上,它将另外创建 <param> 每个参数的标签,和 <returns> 标记返回值。

其他人,比如 <remarks> 然后由IntelliSense建议,当光标位于 /// 评论(见下面的例子)。据我所知,只有 <summary> 和 <param> IntelliSense正在使用标记。如果这些标签中的任何一个包含 cref 属性,您可以引用其他项(如示例中所示)。

此外,正如其他答案所解释的那样,您可以创建一个 XML文档 可以使用第三方工具(例如。)将其转换为超链接文档或静态html文件 Sandcastle帮助文件构建器)。

例:

/// <summary>
/// Description what the class does
/// </summary>
public class MyClass
{
    /// <summary>
    /// Description what the function does
    /// </summary>
    /// <param name="param1">Description what the parameter does 
    ///   Optional tags inside param1:
    ///    <c></c> <code></code> <list type=""></list> <paramref name="param1"/>
    ///    <para></para>
    /// </param>
    /// <param name="param2">Description what the parameter does</param>
    /// <returns>Description about the return value</returns>
    public string MyMethod(int param1, string param2)
    {
        return "Some value: " + MyProperty;
    }

    /// <summary>
    /// Description what the property does
    /// </summary>
    /// <see cref="MyMethod(int, string)"/>
    string MyProperty { get; set; }

    // optional tags (valid for class and methods):

    /// <completionlist cref=""/>
    /// <example></example>
    /// <exception cref=""></exception>
    /// <include file='' path='[@name=""]'/>
    /// <permission cref=""></permission>
    /// <remarks></remarks>
    /// <see cref=""/>
    /// <seealso cref=""/>
}

2
2018-05-31 07:00





可以在中阅读 C#指南

标签用于添加有关类型的信息,补充指定的信息 <summary>。此信息显示在“对象浏览器”窗口中。

所以 <summary> 是对元素的简洁描述 <remarks>是为了完整的描述。在编写代码时,intellisense将显示摘要,但在文档或更详细的视图中,将显示备注内容。使用intellisense显示完整描述将占用大量空间,并有时间阅读它。


0
2017-08-17 08:31