C# 中的 XML 多行注释 - 我做错了啥?

Posted

技术标签:

【中文标题】C# 中的 XML 多行注释 - 我做错了啥?【英文标题】:XML multiline comments in C# - what am I doing wrong?C# 中的 XML 多行注释 - 我做错了什么? 【发布时间】:2011-02-02 14:09:36 【问题描述】:

根据this article,可以获得多行XML cmets——而不是使用///,而是使用/** */。这是我对多行 cmets 是什么以及我想要发生的事情的解释:

/**
 * <summary>
 * this comment is on line 1 in the tooltip
 * this comment is on line 2 in the tooltip
 * </summary>
 */

但是,当我使用此表单时,当我将鼠标悬停在我的代码中的类名上时弹出的工具提示是单行的,即看起来就像我这样写评论:

/// <summary>
/// this comment is on line 1 in the tooltip
/// this comment is on line 2 in the tooltip
/// </summary>

这种行为在 VS2008 中实际上仍然可能吗?

编辑

gabe 指出我误解了“多行”的含义,实际上我需要使用&lt;para&gt;&lt;br&gt; 才能达到我想要的效果。我继续使用&lt;br&gt;,因为我想控制换行符发生的位置,即

/// <summary>
/// this comment is on line 1 in the tooltip<br/>
/// this comment is on line 2 in the tooltip<br/>
/// </summary>

当我在我的代码中查看此类的工具提示时,所有内容仍以一行结束... WTH?我在这里做错了吗?

更新

好的,我继续尝试在每一行上添加&lt;para&gt; 标记,这很有效。不知道为什么&lt;br/&gt; 没有。

/// <summary>
/// <para>this comment is on line 1 in the tooltip</para>
/// <para>this comment is on line 2 in the tooltip</para>
/// </summary>

【问题讨论】:

有谁知道如何在 XML cmets 中保留空格?如果可能的话,我想要缩进。 Adding line breaks to comments for Intellisense的可能重复 【参考方案1】:

添加&lt;br/&gt; 用于换行或将段落括在&lt;para&gt;...&lt;/para&gt; 中。就像 XML 和 html 一样,换行符只是空格。

【讨论】:

我过去成功地使用了&lt;br/&gt;,但后来我注意到像 Swagger 这样的工具不理解它 - 所以使用&lt;para&gt; ... &lt;/para&gt; 方法似乎更好(尽管@987654325 @ 更短...)【参考方案2】:

试试这个

/// <summary>
/// this comment is on line 1 in the tooltip
/// <para>this comment is on line 2 in the tooltip</para>
/// </summary>

【讨论】:

【参考方案3】:

听起来您对“多行”的含义感到困惑。单行注释在源代码行的末尾结束,如果您想继续该注释,您必须在下一行添加“///”。多行注释以“/*”开头,以“*/”结尾,因此它可以在同一行或多行结束。

“多行”并没有说明评论中的文本如何显示。要在 XML 注释中添加换行符,您必须插入 &lt;br/&gt;(“break”)或将该行换行在 &lt;para&gt;(“paragraph”)标记中。

【讨论】:

谢天谢地。感谢您澄清这一点,我对“多线”所指的内容肯定有不同的概念。我很高兴我可以重新使用 /// 并且我将开始使用 ! 实际上,我确实需要使用 ,因为我想控制换行符。我继续将 添加到我的 cmets 中每一行的末尾,它仍然将工具提示中的所有内容放在一行中。 @gabe:你知道如何保留空白吗? 您要保留哪些空白?如果只是空格,您可以使用&amp;nbsp;  在 Visual Studio 中没有为我工作的智能,但字符  似乎可以解决问题。

以上是关于C# 中的 XML 多行注释 - 我做错了啥?的主要内容,如果未能解决你的问题,请参考以下文章

矩形跨域请求。我做错了啥?

JavaScript 中的 HTML5 音频:我做错了啥?

用 C++ 中的 AKS 素性测试计算孪生素数我做错了啥?

Xcode 中的 else if 或 or 语句。不知道我做错了啥

具有下限的网络中的最小流量-我做错了啥?

R语言中的一类分类。生成混淆矩阵时我做错了啥?