2010-08-06 32 views
1

我知道,StyleCop是不完美的,但我們嘗試以有用的方式使用它。我確實喜歡它抱怨沒有證據的論點。現在,對於屬性和構造函數,它建議文本應該是什麼,但它不會幫助Dispose方法,我認爲它應該。我們有很多類實現IDisposable。在這種特殊情況下,課程是WinForm。麻煩的是,我還沒有能夠爲Dispose方法提供出色的文檔,而且我也沒有在網上看到過很好的例子。許多例子都沒有任何評論。我希望有人覺得像Dispose方法是他們的第二天性,可以幫助我一勞永逸地記錄這一點,以便我可以在任何地方重新使用此評論。尋找Stylecop的完美評論`保護覆蓋無效處置(布爾處置)`

這裏是我們所擁有的:

/// <summary> 
    /// Clean up any resources being used. 
    /// </summary> 
    protected override void Dispose(bool disposing) 
    { 
     if (disposing) 
     { 
      if (this.components != null) 
      { 
       this.components.Dispose(); 
      } 
     } 

     base.Dispose(disposing); 
    } 

,這裏是警告消息:

Warning 15 SA1611: The documentation header must contain param tags matching the element's parameter list. 

我希望其他這樣用戶會發現這個問題的答案有幫助。 如果您有任何疑問,請告訴我。

回答

2

這是從項目模板自動生成的代碼。唯一真正的解決方法是更改​​模板或編輯Designer.cs源代碼文件。該模板位於Common7 \ IDE \ ItemsTemplate(Cache)\ CSharp \ Windows Forms \ xxxx \ Form.zip \ form.designer.cs中。編輯它當然只會解決未來項目的問題。

編輯自動生成的代碼通常不是最好的想法,但是在這種特殊情況下你會擺脫它。

+0

嗯......好的信息,我願意惹惱它。我所要做的只是打開一個對話框,然後更改一個標籤並將其改回 - 然後應該將文件保存爲更接近我想要的格式。 – 2010-08-06 16:18:01

1

有一些很好的意見here,但它不符合StyleCop標準。你需要的是:

/// <summary> 
/// Releases the unmanaged resources used by this 
/// class and optionally releases the managed resources. 
/// </summary> 
/// <param name="disposing">True to release both managed and unmanaged 
/// resources; false to release only unmanaged resources.</param> 

希望這有助於!

+0

好東西,但想要仔細檢查 - 這種特殊的評論在一般情況下是合適的,或者只有當我實際上與非託管的東西進行交互時,例如使用C# - > C++/CLI - > C++'橋接器時才適用。 – 2010-08-06 16:16:16

+0

我通常只留下這個註釋,並且也編寫了終結器,但是如果我知道我的類不會使用非託管資源,那麼將其註釋掉。所以,如果你主要做非託管的東西,那麼上面的評論以及微軟鏈接就足以滿足你的情況。 – 2010-08-06 16:21:29

1

您可以使用GhostDoc進行調查。它通常會搜索繼承樹並從父類中找到註釋。在這種情況下,由於Dispose方法被覆蓋,它會發現有意義的評論。

+0

它確實通常會找到它們,但它們是可信的,還是隻能用作模板? – 2010-08-10 15:49:20

+0

如果您的覆蓋執行作業註釋狀態,則可以按原樣使用它們。如果你改變了行爲,那麼你將需要修改評論以適應。 – 2010-08-10 15:50:50