2012-11-14 34 views
2

最近我开始使用///来评论我的C#代码,而不是///*,因为它使用起来更简单。今天,我开始想知道为什么有不同的类型,并遇到this SO question其中指出///注释是用于生成XML文档。C#// vs ///评论

对于Google上的评论类型和其他评论,我无法找到任何建议,我认为这两者无关。到目前为止,我还没有从使用///发表任何不良影响发表评论,但我不想现在就养成一种习惯,以后再忘记。据我所知,如果在评论中没有元标记,它不会被识别为文档(或者我完全错了吗?)

在我用///注释谜语之前,是这种类型的评论一个大的禁忌?这样评论会有潜在的问题吗?

+0

三个斜线用于描述已声明的方法或函数。我只知道这一点。 –

+0

我其实刚刚回答了一个问题,解释今天的差异。 http://stackoverflow.com/questions/13366400/should-you-use-xml-comments-on-field-variables-properties-constructors/13366665#13366665 – evanmcdonnal

+0

是什么让你认为代码文档是否定的? – Euphoric

回答

6

这样评论会有潜在的问题吗?

是的。当您决定生成项目文档时,它将把所有这些注释行作为XML文档的一部分。当您使用/Doc扩展名编译代码时,它会使用您的XML注释生成一个文档(///)。如果你已经使用它来注释掉你的代码,那么文档生成将会考虑注释掉你的文档的代码。

请参阅:

XML Documentation Comments (C# Programming Guide

How to: Generate XML Documentation for a Project

+0

@slugster,谢谢,我补充说,以我的答案与您的参考 – Habib

+0

哇,好点。我之前从来不需要生成文档,也不知道“TODO”和其他关键字。回到'//'评论它是。我希望它会自动执行换行,尽管... –

+0

@ user643192,不确定换行符,但我使用快捷方式进行评论。选择文本并按下'Cntl + K,C'和'Cntl + K,U'来取消注释 – Habib

0

如果你使用像ReSharper的例如delvelopment帮助工具大多是他们为您提供这样一个要么///* ... */评论ACODE块的功能;这些评论的代码块可以使用这些工具来代替,这不会对你有效,一旦你有3个斜线而不是2。

文档符号的问题是另一个问题,您将在您的文档中生成注释,但无法控制代码中的哪些内容以及如何进入documetnation,因为您已遍布///,但我想这是一个问题可以配置文档生成工具。

+0

事实上,使用'///'的工作量较少,因为它会在返回后自动评论新行。每行都必须手动添加'//'。 –

1

就编译代码而言,没有任何技术上的差异。他们都被忽略了。

我认为///注释更像是一种惯例,表示您正在使用XML Documentation Comments来评论特定的代码块。像Visual Studio这样的IDE可以识别不同的评论类型,并且可以相应地进行视觉样式设计。

鉴于使用标准//或/ * * /注释的一般惯例,也有可能会混淆(或者更可能是惹恼)其他将阅读您的代码的开发人员。