關於在C#中應用XML注釋標記的一點想法

來源:互聯網
上載者:User
1. 涉及的內容:
  • Visual Studio 2005 開發環境
  • 在C#中編寫注釋
  • C#中的XML注釋標記
  • Visual Studio 2005 IDE環境下的ToolTip自動提示
2. 發現的問題:

      在Visual Studio 2005 的C#開發環境下,利用自己編寫的XML注釋標記,可以實現調用函數時產生類似ToolTip的自動提示的效果,可以提示關於函數的功能和參數的資訊。

問題:採用Visual Studio 2005 IDE自動產生的XML注釋標記時,這種ToolTip只能提示<summary></summary>和<param></param>標籤下的內容(1、圖2)。<returns></returns>下的內容是不會提示的。換句話說,我覺得IDE提示的資訊不夠豐富,我想讓它提示更多的資訊,並且排版也要清晰、美觀。

圖1

圖2

對應的XML注釋:

圖1和圖2對應的XML注釋代碼
/// <summary>
/// 將屬性資訊寫入資料庫。
/// </summary>
/// <param name="toolAttributeWithValue">包含屬性和屬性值的ToolAttributeWithValue數組。</param>
/// <returns>成功-true;失敗-false。</returns>
public static bool WriteAttribute(ToolAttributeWithValue[] toolAttributeWithValue) 

3. 實現的效果
  • 要能提示函數功能
  • 要能提示函數參數
  • 要能提示函數傳回值
  • 要能實現不同資訊的分行顯示(排版)  
  • 圖3展示了我想要實現的效果。

 
圖3

對應的XML注釋代碼:

圖3 對應的XML注釋代碼
/// <summary>
/// 功能:將屬性資訊寫入資料庫。<para />
/// <param name="toolAttributeWithValue">
/// 參數:包含屬性和屬性值的ToolAttributeWithValue數組。<para /></param>
/// <returns>
/// 返回:成功-true;失敗-false。</returns>
/// </summary>
public static bool WriteAttribute(ToolAttributeWithValue[] toolAttributeWithValue)

4. 實現方法:

      將函數傳回值也加入ToolTip提示:

      預設的XML注釋標籤的相片順序下, <summary><param><returns>是三個單獨的標籤對。這種情況下,當你在IDE中指向函數名時,ToolTip只包含<summary>標籤下的內容,即參數和返回都不會提示。所以這裡要對XML注釋標記的排列順序做一下調整。讓<param><returns>成為<summary>的子項目。對應的XML注釋代碼如下所示:

調整標記順序後的XML注釋代碼
/// <summary>
/// 功能:將屬性資訊寫入資料庫。
/// <param name="toolAttributeWithValue">參數:包含屬性和屬性值的ToolAttributeWithValue數組。</param>
/// <returns>返回:成功-true;失敗-false。</returns>
/// </summary>

      到這裡函數功能、參數、傳回值都可以提示出來,但是它們是在一行顯示的,沒有分行,即沒有排版效果。下面來實現分行的效果。這裡要用到一上HTML標記,<para />。按道理說,這裡應該用<br />更合適,但是我用<br />沒能實現分行的效果,而<para />可以。對就的XML注釋代碼如果所示:

實現完整效果的XML注釋代碼
///<summary>
/// 功能:將屬性資訊寫入資料庫。<para />
///
/// <param name="toolAttributeWithValue">
/// 參數:包含屬性和屬性值的ToolAttributeWithValue數組。<para /></param>
/// <returns>
/// 返回:成功-true;失敗-false。</returns>
/// </summary>

5. 可能的問題:

      這裡不討論如何用Visual Studio 2005 提取XML注釋,產生XML文檔。本文對<summary>、<param>、<returns>三個標籤對的包含順序的調整,可能會影響產生的XML文檔。這個問題我沒做驗證,因為我現在不會用Visual studio 2005產生XML文檔。

這是在“部落格園”寫的第一篇隨筆,這個可以插入代碼塊的功能實在是太棒了!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.