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

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

如果您需要在XML注释中转义字符,则需要使用字符实体,所以<需要被转义为&lt; ,就像你的问题一样。

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

正如你所说,这将产生良好的文件,但一个可怕的评论阅读…

在普通的C#注释中,你可以使用任何字符(除了*/如果你使用/*开始注释,或者如果你使用//开始注释,则使用换行符)。 如果您使用的是XML注释,则可以使用CDATA部分来包含“<”和“>”字符。

有关C#中XML注释的更多信息,请参阅此MSDN博客文章 。


例如

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

你说:“我想让阅读实际文件中的评论变得容易”。 我同意。

开发人员大部分时间都花在代码上 ,而不是阅读自动生成的文档。 对于像图表这样的第三方图书馆来说,这些工作是非常好的,但对于我们使用所有代码的内部开发来说,这些工作并不好。 我感到震惊的是,MSFT还没有拿出一个更好的支持开发者的解决scheme。 我们有dynamic扩展/折叠代码的区域…为什么我们不能在原始文本和已处理的XML注释之间,或原始文本和已处理的HTML注释之间有就地注释呈现切换? 似乎我应该在我的方法/类序言评论(红色文字,斜体等)中有一些基本的HTMLfunction。 当然,一个IDE可以处理一些HTML处理的魔力,让内联评论活跃起来。

我的解决scheme是 :我将“<”改为“{”和“>”改为“}”,这似乎涵盖了典型的使用风格评论,包括您的具体示例。考虑到可读性问题(以及使用'<'时发生的IDE注释着色问题)

C#XML注释是用XML编写的,所以您可以使用正常的XML转义。

例如…

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

我发现这个问题的一个可行的解决scheme是简单的包括两个例子:一个难以阅读的XML注释w /转义字符的版本,另一个可读的版本使用传统的//注释。

简单,但有效。

比使用{…}更好的是使用≤…≥(小于或等于符号,大于或等于符号,Unicode中的U2264和U2265)。 看起来像下划线的尖括号,但仍然肯定尖括号! 只添加几个字节到您的代码文件。

更好的尝试U2280和U2281 – 只需从Unicode字符列表中复制和粘贴(math运算符部分)即可。