2010-07-27 60 views
3

是否有可定製的C#文檔生成器?與提供類,方法和屬性的文檔的本地xml文檔相反,我在這裏提到的文檔更低級,即它記錄方法的流程。C#代碼的自定義文檔

例如在給定的代碼

void SomeMethod(){ 

///doc:Do X 
SomeCodeToDoX 

///doc:Do Y 
SomeCodeToDoY 

///not tagged 
SomeCode 

} 

的文件將捕獲DOC:做X和DOC:你的Y,和將記錄做X和DO Y作爲方法內部的流動的someMethod

**我希望我做的問題不夠清楚..如果我沒請評論要求澄清*

+1

有趣的想法,但如果你的方法都這麼大了,複雜的我想說他們需要文檔*內的方法,那麼你可能需要重構,而不是試圖做到這一點... – 2010-07-27 04:42:40

+0

我不想公開這種評論。它可能會阻止程序員評論代碼「框內」 – 2010-07-27 04:43:25

+0

@graphain:我的想法是有一些標籤,它表明這個評論是文檔的一部分,沒有標籤的評論將不會被記錄 – 2010-07-27 05:35:07

回答

2

不知道這個回答你的問題,但你可以使用沙堡:http://sandcastle.codeplex.com/

它通過反射程序集創建MSDN文檔。您可以(但不是必需的)添加您自己的文檔標籤。

3

就我所知,您可以在doc註釋中使用任何您喜歡的XML元素 - 但它們必須附加到成員上;恐怕不能只是將文檔註釋添加到方法中的一些代碼中。

或者至少,你可以,但它不會拿起作爲生成的XML文件的一部分,你會得到這樣的警告:

test.cs中(11,9) :警告CS1587:XML註釋沒有放在有效語言元素上

這是可能,如果禁用該警告,並使用Doxygen的處理源代碼,而不是內置的發電機,你可能是能夠得到一些東西......但你應該意識到這一點在它將是非常特定於您的環境。我懷疑,我自己的好處是不值得的。我還會給出一個關於代碼的可讀性的警告,它有大量的註釋 - 當你真的只想看代碼本身時,它會變得非常分散注意力。

(出於某種原因,所以barfing當我嘗試發佈一個鏈接到Doxygen的...將文件上元的錯誤。)