我知道remarks标签用于提供有关该类的其他信息,但在悬停/调用该类时它不会显示在intellisense中。我想知道它到底有用吗?
我知道remarks标签用于提供有关该类的其他信息,但在悬停/调用该类时它不会显示在intellisense中。我想知道它到底有用吗?
备注用于构建文档文件。它们用于更详细的注释,向“摘要”标记添加补充信息(“摘要”标记在智能感知中显示)。
生成的文档文件将采用XML格式。
要生成文档文件,您需要添加“/ doc”编译器选项。 在visual studio中,您可以通过以下方式启用XML文档文件的生成:
在生成文档时,.NET中的许多标记确实被利用了。也许,最受欢迎的,我使用的是Sandcastle。
这是一篇讨论该主题的相当古老的博客文章,但你会明白这一点:
“我认为大多数开发人员都知道使用XML代码注释来装饰.NET对象的概念。实际上有两个好处:1)当你使用对象时它会在intellisense中显示这些信息; 2)你可以生成组件文档像MSDN一样。“
这些标签由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=""/>
}
可以在中阅读 C#指南:
标签用于添加有关类型的信息,补充指定的信息
<summary>
。此信息显示在“对象浏览器”窗口中。
所以 <summary>
是对元素的简洁描述 <remarks>
是为了完整的描述。在编写代码时,intellisense将显示摘要,但在文档或更详细的视图中,将显示备注内容。使用intellisense显示完整描述将占用大量空间,并有时间阅读它。