如何在c#注释中转义字符?

时间:2010-12-07 13:58:12

标签: c#

我今天意识到我不知道如何在C#的评论中转义字符。我想记录一个通用的C#类,但我不能写一个正确的例子,因为我不知道如何转义<>字符。我必须使用&lt;&gt;吗?我不喜欢,如果是这样的话,因为我想在实际文档中轻松阅读注释,所以我不必生成某种代码文档以便能够阅读示例代码。

7 个答案:

答案 0 :(得分:122)

如果您需要在XML注释中转义字符,则需要使用字符实体,因此需要将<转义为&lt;,如您的问题所示。

转义的替代方法是使用CDATA部分,效果相同。

正如你所指出的,这会产生好看的文档,但读起来却是一个可怕的评论...

答案 1 :(得分:45)

在简单的C#评论中,您可以使用任何字符(如果您使用*/启动评论,则使用/*除外;如果您使用//启动评论,则可以使用换行符。)如果您使用的是XML评论,则可以使用CDATA section来包含'&lt;'和'&gt;'字符。

有关C#中XML注释的更多信息,请参阅this MSDN blog article


例如

/// <summary>
/// Here is how to use the class: <![CDATA[ <test>Data</test> ]]>
/// </summary>

答案 2 :(得分:16)

你说“我希望能够轻松阅读实际文件中的评论”。我同意。

开发人员将大部分时间用于代码,而不是在使用自动生成的文档。这些对于第三方图书馆来说非常棒,比如图表,但不适用于我们使用所有代码的内部开发。我有点震惊的是,MSFT没有提出一个能够更好地支持开发人员的解决方案。我们有动态扩展/折叠代码的区域...为什么我们不能在原始文本和处理过的XML注释之间或原始文本和处理过的HTML注释之间进行就地注释渲染切换?好像我应该在我的方法/类序言注释(红色文本,斜体等)中有一些基本的HTML功能。当然,IDE可以运行一些HTML处理魔术来激活内联注释。

我的黑客解决方案:我改变'&lt;'将“{”和“&gt;”改为“}”。这似乎涵盖了我的典型示例用法样式注释,包括您的具体示例。不完美,但考虑到可读性问题(以及随后出现的IDE注释着色问题)使用'&lt;')

答案 3 :(得分:5)

C#XML注释是用XML编写的,因此您可以使用普通的XML转义。

例如......

<summary>Here is an escaped &lt;token&gt;</summary>

答案 4 :(得分:3)

我发现这个问题的一个宜居解决方案只包括两个例子:XML注释中有一个难以阅读的版本,带有转义字符,另一个可读版本使用传统的//注释。

简单但有效。

答案 5 :(得分:1)

优于使用{...}使用≤...≥(小于或等于符号,大于或等于符号,Unicode中的U2264和U2265)。 看起来像带下划线的尖括号但仍然是尖括号!并且只在代码文件中添加几个字节。

答案 6 :(得分:1)

更好的尝试U2280和U2281 - 只需复制并粘贴List of Unicode characters(数学运算符部分)。