是否有可能以某種方式獲取.NET摘要數據?如何獲得該方法的摘要?
/// <summary>
/// I need to get it programatically
/// </summary>
private void MethodA()
{
}
是否有可能以某種方式獲取.NET摘要數據?如何獲得該方法的摘要?
/// <summary>
/// I need to get it programatically
/// </summary>
private void MethodA()
{
}
使用EnvDTE
命名空間來獲取當前碼元,那麼你就可以訪問Comment
和DocComment
性能。
您需要添加引用: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
來查看您正在查看什麼特定類型的代碼元素:CodeClass
,CodeFunction
,等等......在決定了正確的類型並轉換爲它之後,您最終可以訪問評論文本。要瀏覽代碼元素,請記住它們可以有Children
(例如,類中的屬性)。
酷!請你提供任何簡單的例子嗎? –
您也可以將文檔解壓縮到xml文件,然後對該文件使用常規xml解析。
但答案有使用CSC編譯器生成的XML註釋文件的解析,並在運行時的答案在這裏使用DTE功能(在VisualStudio的環境中)。 –