【发布时间】:2014-11-17 16:46:26
【问题描述】:
我正在对我当前的一个项目运行 VS2013 的代码分析,并遇到“CA1001:拥有一次性字段的类型应该是一次性的”。生成警告的简单示例(假设DisposableClass 实现IDisposable)是:
class HasDisposableClassField
{
private DisposableClass disposableClass;
}
但是,将字段变量转换为属性不再生成警告,即使该属性将由类实例化:
class HasDisposableClassProperty
{
private DisposableClass disposableClass { get; set; }
public HasDisposableClassProperty()
{
disposableClass = new DisposableClass();
}
}
在第一种情况下,很明显该类应该实现 IDisposable 模式,并适当地处理其disposableClass 字段。我的问题:第二种情况缺少警告是代码分析工具的限制吗?尽管没有警告,该类是否仍应实现 IDisposable 并处置该属性?
【问题讨论】:
标签: c#