c# XML注释中的转义尖括号

本文关键字:转义 XML 注释 | 更新日期: 2023-09-27 18:14:49

我正在写一个简单的比较函数,签名如下:

  /// <summary>
  /// Casts two unsigned integers to signed integers and compares them
  /// </summary>
  /// <param name="arg1">Left side of inequality</param>
  /// <param name="arg2">Right side of inequality</param>
  /// <returns>
  /// LESS_THAN if arg1    <----
  /// </returns>
  private static Inequality Compare(uint arg1, uint arg2)

我想在不触发XML解析器的情况下将文字不等式符号放在箭头所在的位置。我该怎么做呢?

c# XML注释中的转义尖括号

如果你想在方法本身上面的文档中看到它,那么你不能,只是完整地写出来,这样也更清楚。

对于所有其他目的(如代码洞察、生成的文档等),您可以使用文字
&lt;
使用

&gt;

我作弊。我使用这些字符:≪比

/// <returns>
/// if arg1 ≪ 0 then return Inequality.EQUAL_TO
/// if arg2 == 2 ...etc 
/// </returns>

也可用于

/// <summary>
/// Checks if the List ≪ Dictionary ≪ int,string≫ ≫ is valid
/// </summary>

在智能感知、你的代码和VS生成的文档中看起来都很好。

我保留了一个产生以下行

的代码片段

//≪¹¹⇒↓↓—≤≥…加上一些其他的特殊

我同意你不能让你的原始XML注释看起来特别漂亮,但是我通常尝试让我的注释在Object Browser窗口和IntelliSense中产生好看的注释,而不用担心它们在源代码中的外观。因此,我可能会像这样编写您的方法和注释:

 /// <summary>
 /// Casts two unsigned integers to signed integers
 /// and compares them
 /// </summary>
 /// <param name="arg1">Left side of inequality</param>
 /// <param name="arg2">Right side of inequality</param>
 /// <returns><para>
 /// LESS_THAN iff <paramref name="arg1"/>
 /// &lt; <paramref name="arg2"/>
 /// </para><para>
 /// GREATER_THAN iff <paramref name="arg1"/>
 /// &gt; <paramref name="arg2"/>
 /// </para><para>
 /// EQUAL_TO iff <paramref name="arg1"/>
 /// == <paramref name="arg2"/>
 /// </para></returns>
 private static Inequality Compare(
       uint arg1, uint arg2)
 {
   var int1 = (int)arg1;
   var int2 = (int)arg2;
   return int1 < int2
     ? Inequality.LESS_THAN
       : int1 > int2
       ? Inequality.GREATER_THAN
         : Inequality.EQUAL_TO;
 }  // end: Compare()

在Object Browser窗口中,该方法的文档看起来像这样:

程序。不平等比较 (使用uint __arg1 使用uint 最长)
程序

简介:
将两个无符号整数转换为有符号整数和比较他们

参数:
arg1: Left side of inequality
arg2:右边的不等式

的回报:
LESS_THAN iff arg1 <最长>
== arg2