小编Zvo*_*nko的帖子

CA2213代码分析规则和自动实现的属性

我在项目中使用静态代码分析来检查代码违规.其中一个广泛使用的规则是CA2213,它检查一次性场的正确处理.

我注意到CA2213没有检查处理自动实现的属性.

此外,如果类继承自实现IDisposable的类并且不覆盖Dispose方法,则CA2213不会检查是否处置字段或自动实现的属性.

实际例子:

public sealed class Good : IDisposable {
    private Font font;
    public Font Font {
        get { return font; }
        set { font = value; }
    }
    public Good() { font = new Font("Arial", 9); }
    public void Dispose() { /* Do nothing */ }       // CA2213
}

public sealed class Bad : IDisposable {
    public Font Font { get; set; }
    public Bad() { Font = new Font("Arial", 9); }
    public void Dispose() { /* Do …
Run Code Online (Sandbox Code Playgroud)

c# dispose fxcop static-analysis

15
推荐指数
2
解决办法
1716
查看次数

标签 统计

c# ×1

dispose ×1

fxcop ×1

static-analysis ×1