簡體   English   中英

C#摘要注釋中的Xml字符串

[英]Xml string in a C# summary comment

我正在記錄我在C#中編寫的一些處理解析令牌的方法。 由於系統其他區域存在一些技術限制,這些令牌需要采用XML元素的形式(即<tokenName /> )。 我想將這些令牌的格式放在摘要語句中。

但是,這會引發錯誤:格式錯誤 - 名稱以無效字符開頭“。是否有任何類型的轉義字符序列可用於在我的C#摘要注釋中嵌入XML?

使用標准XML轉義。 例如:

<summary>This takes a &lt;token1&gt; and turns it into a &lt;token2&gt;</summary>

鍵入或讀取代碼並不是一件容易的事,但是IntelliSense正確地解決了這個問題,你在工具提示中看到了正確的,可讀的東西。

使用CDATA部分。 例如:

<![CDATA[ <name>Bob</name> ]]>

當您擁有更大的XML片段時,這在源代碼中比在實體引用中編碼特殊字符更優雅和可讀。

如果要嵌入的XML本身包含CDATA部分,則需要使用多個CDATA部分,如Stack OverflowWikipedia 上的另一個答案中所述。 或者您可以始終使用普通實體引用,如此處的其他答案中所述。

我使用轉義序列,因為VisualStudios工具提示不顯示CDATA部分內的任何內容。

現在已經很晚了,但遇到了同樣的問題,使用<![CDATA[]]>會隱藏Intellisense中的評論。

替換<>對我來說很有用(懶惰:))。 我發現只需要替換< with &lt; 對於Intellisense來說已經足夠了,因為它使得xml無效並且適合於Intellisense在摘要塊中作為文本進行解析。

這是一個例子:

/// <summary>
/// Parse the queue process response
/// <para>&lt;?xml version="1.0" encoding="utf-16"?>&lt;result success="True">&lt;entity type="resource" operation="update" />&lt;/result></para>
/// <![CDATA[
/// <?xml version="1.0" encoding="utf-16"?><result success="True"><entity type="resource" operation="update" /></result>
/// ]]></summary>
/// <param name="response"></param>
/// <returns></returns>

Intellisense將顯示:

Parse the queue process response
<?xml version="1.0" encoding="utf-16"?><result success="True"><entity type="resource" operation="update" /></result>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM