簡體   English   中英

C#中XML注釋有什么用

[英]What is the use of XML comments in C#

在 C# 中使用 XML 注釋比信號行和多行注釋有什么用。

i.Single line
Eg:
//This is a Single line comment

ii. Multiple line (/* */)
Eg:
 /*This is a multiple line comment
We are in line 2
Last line of comment*/

iii. XML Comments (///).
Eg:
/// summary;
///  Set error message for multilingual language.
/// summary

來自XML 文檔注釋(C# 編程指南):

當您使用 /doc 選項進行編譯時,編譯器將搜索源代碼中的所有 XML 標記並創建一個 XML 文檔文件。

Visual Studio for IntelliSense 還使用了 XML 注釋:

/// <summary>
///  This class performs an important function.
/// </summary>
public class MyClass{}

當您鍵入代碼或將光標懸停在具有 xml 注釋的成員上時,會給您很好的提示:

在此處輸入圖片說明

注意:通常您應該只向公開可見的類型或成員添加 xml 注釋。 如果成員是內部的或私有的,那很好,但不是必需的。 有一個很好的工具GhostDoc (可作為 Visual Studio 的擴展提供),它可以從類型或成員名稱生成 XML 注釋。 很高興檢查您是否有良好的命名 - 如果生成的注釋不清楚,那么您應該改進成員的名稱。

我還建議盡可能少地使用簡單的(非 xml)注釋。 因為注釋是代碼重復的一種形式——它重復了您代碼中已有的信息。 這里有兩個問題:

  • 你的代碼不夠清晰,你應該改進它(重命名、提取類或成員)而不是添加注釋
  • 當代碼更改時,注釋通常保持不變(程序員很懶)。 因此,隨着時間的流逝,評論變得過時且令人困惑。

良好的意見應該說明為什么你寫代碼,而不是重復的代碼是什么做的。

以 /// 開頭的 XML 注釋將被 IntelliSense 接收,並在從其他地方查看時顯示在彈出窗口中。 有一個MSDN 頁面解釋了它是如何工作的。

它們還將被用於構建文檔文件等的眾多工具接收。

來自 MSDN:

當您使用 /doc 選項進行編譯時,編譯器將搜索源代碼中的所有 XML 標記並創建一個 XML 文檔文件。 要根據編譯器生成的文件創建最終文檔,您可以創建自定義工具或使用 Sandcastle 等工具。

http://msdn.microsoft.com/en-us/library/b2s063f7.aspx

XML 注釋用於構建外部工具可讀的 API 文檔。 IntelliSense 還會讀取這些內容,並在您鍵入時(以及在“文檔”窗口中)使用這些內容在幫助工具提示中顯示您的代碼的文檔。

編譯器(可選)提取所有這些注釋並將它們放在一個單獨的 XML 文件中,緊挨着您的程序集; 這可以解析。

這個想法是有像 JavaDoc 這樣的東西。 不幸的是,微軟未能提供一個主流的成熟工具來做到這一點。

當你創建一個 Dll assambly Xml 注釋時,會為 dll 的用戶提供一些關於函數或其他東西的信息

所有語言的代碼通常都允許特殊注釋。 然后可以通過創建代碼自動文檔的過程來解析這些注釋。 許多庫都是以這種方式記錄的。

在 C# 中,這些工具由 Microsoft 提供,您可以使用 XML 注釋來聲明注釋應該由文檔處理 - 如果您有一個設置。 評論也由自動完成提取。

另請參閱 doxygen、JavaDoc 以了解其他語言的實現。 請參閱相關問題Good替代 Sandcastle 以生成 MSDN 樣式的文檔

暫無
暫無

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

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