寻找有关`protected override void Dispose(bool disposing)`的Stylecop完美评论

时间:2010-08-06 15:30:13

标签: c# comments idisposable stylecop

我知道,StyleCop并不完美,但我们会尝试以有用的方式使用它。我确实喜欢它抱怨没有文件的论点。现在,对于属性和构造函数,它建议文本应该是什么,但它对Dispose方法没有帮助,我认为应该如此。我们有许多实现IDisposable的类。在这种特殊情况下,该类是WinForm。问题是我无法为Dispose方法提供出色的文档,我也没有在网上看到过很好的例子。许多例子都没有任何评论。我希望感觉像Dispose方法的人对他们来说是第二天性,可以帮助我一劳永逸地记录下来,以便我可以在任何地方重复使用这个评论。

以下是我们的内容:

    /// <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.  

我希望其他So用户也能找到有用的答案。 如果您有疑问,请告诉我。

3 个答案:

答案 0 :(得分:2)

这是项目模板中的自动生成代码。唯一真正的解决方法是更改​​模板或编辑Designer.cs源代码文件。该模板位于Common7 \ IDE \ ItemsTemplate(Cache)\ CSharp \ Windows Forms \ xxxx \ Form.zip \ form.designer.cs中。编辑它当然只会解决未来项目的问题。

编辑自动生成的代码通常不是最好的主意,但在这种特殊情况下你会逃脱它。

答案 1 :(得分: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>

希望这有帮助!

答案 2 :(得分:1)

您可以使用GhostDoc进行调查。它通常会搜索继承树并从父类中查找注释。在这种情况下,当重写Dispose方法时,它会找到有意义的注释。