C#中XML注释的用途是什么

C#中的XML注释比信号线和多行注释有什么用处。

i.Single line Eg: //This is a Single line comment ii. Multiple line (/* */) Eg: /*This is a multiple line comment We are in line 2 Last line of comment*/ iii. XML Comments (///). Eg: /// summary; /// Set error message for multilingual language. /// summary 

从XML文档注释(C#编程指南):

使用/ doc选项进行编译时,编译器将在源代码中搜索所有XML标记并创建XML文档文件。

Visual Studio for IntelliSense使用的XML注释:

 ///  /// This class performs an important function. ///  public class MyClass{} 

当您键入代码或将光标hover在具有xml注释的成员上时,会给您提供很好的提示:

在此处输入图像描述

注意:通常您应该只向公开可见的类型或成员添加xml注释。 如果成员是内部成员或私人成员,那么这很好,但不是必需的。 有一个很好的工具GhostDoc (可用作Visual Studio的扩展),它可以从类型或成员名称生成XML注释。 很高兴检查你是否有良好的命名 – 如果生成的评论不清楚,那么你应该改进成员的名字。

我还建议尽可能少地使用简单(非xml)注释。 因为注释是代码重复的一种forms – 它会复制代码中已有的信息。 这有两个问题:

  • 您的代码不够清晰,您应该改进它(重命名,提取类或成员)而不是添加注释
  • 代码更改时,注释通常保持不变(程序员很懒惰)。 因此,当时间过去,评论变得过时和混乱。

好的评论应该描述为什么你编写代码而不是复制代码正在做什么。

从///开始的XML注释将被IntelliSense选中,当从其他地方查看时,它将以弹出窗口显示。 有一个MSDN页面解释它是如何工作的。

他们也将被许多构建文档文件等的工具选中。

来自MSDN:

使用/ doc选项进行编译时,编译器将在源代码中搜索所有XML标记并创建XML文档文件。 要基于编译器生成的文件创建最终文档,您可以创建自定义工具或使用Sandcastle等工具。

http://msdn.microsoft.com/en-us/library/b2s063f7.aspx

XML注释用于构建可由外部工具读取的API文档。 IntelliSense还会读取这些内容,并在您键入时(在“文档”窗口中)使用内容在辅助工具提示中显示代码的文档。

编译器(可选)提取所有这些注释,并将它们放在程序集旁边的单个独立XML文件中; 这可以解析。

我的想法是拥有像JavaDoc这样的东西。 不幸的是,微软未能提供这样做的主流成熟工具。

当您创建Dll assambly时,Xml注释会为dll的用户提供有关函数或其他内容的一些信息

所有语言的代码通常都允许特殊注释。 然后,这些注释可以由创建代码自动文档的过程进行解析。 许多库都以这种方式记录。

在C#中,这些工具由Microsoft提供,您使用XML注释来声明文档过程应该选择注释 – 如果您有一个设置。 评论也可以通过自动完成获取。

另请参阅doxygen,JavaDoc以了解其他语言的实现。 请参阅相关问题Sandcastle的良好替代方案,以生成MSDN样式的文档