2013-01-23 75 views
0

是否有可能以某種方式獲取.NET摘要數據?如何獲得該方法的摘要?

/// <summary> 
/// I need to get it programatically 
/// </summary> 
private void MethodA() 
{ 
} 
+1

但答案有使用CSC編譯器生成的XML註釋文件的解析,並在運行時的答案在這裏使用DTE功能(在VisualStudio的環境中)。 –

回答

1

使用EnvDTE命名空間來獲取當前碼元,那麼你就可以訪問CommentDocComment性能。

您需要添加引用:How to: Add References to Automation Namespaces是一個很好的開始。

然後您需要訪問EnvDTE對象:How to: Get References to the DTE and DTE2 Objects

從那取決於代碼的位置。通過EnvDTE,您必須找到它聲明的項目項目,瀏覽到它,然後訪問註釋屬性。

您可以通過ActiveDocument財產您DTE對象上,它會返回一個Document得到當前文檔。如果Document是項目的一部分,則可以抓取ProjectItem,並通過那裏訪問CodeElements集合。

從那裏它變得有些複雜。 A CodeElement沒有註釋屬性。您可以使用CodeElement.Kind來查看您正在查看什麼特定類型的代碼元素:CodeClassCodeFunction,等等......在決定了正確的類型並轉換爲它之後,您最終可以訪問評論文本。要瀏覽代碼元素,請記住它們可以有Children(例如,類中的屬性)。

+0

酷!請你提供任何簡單的例子嗎? –