在C#中使用XML注释有什么用?

时间:2014-02-12 12:45:43

标签: c#

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

6 个答案:

答案 0 :(得分:13)

来自XML Documentation Comments (C# Programming Guide):

  

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

Visual Studio for IntelliSense使用的XML注释:

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

当您输入代码或将光标悬停在包含xml注释的成员上时,会给您提供很好的提示:

enter image description here

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

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

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

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

答案 1 :(得分:1)

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

它们也会被许多构建文档文件等的工具所吸引。

答案 2 :(得分:1)

来自MSDN:

  

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

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

答案 3 :(得分:1)

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

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

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

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

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

另请参阅doxygen,JavaDoc以了解其他语言的实现。请参阅相关问题Good alternatives to Sandcastle to generate MSDN-style documentation