CA2000 是关于 IDisposable 接口的警告:
CA2000:Microsoft.Reliability:在方法“ImportProcessor.GetContext(string)”中,在对对象“c”的所有引用超出范围之前调用 System.IDisposable.Dispose。
我的方法用于存储上下文缓存,如下所示:
public class RegionContext : IDisposable { /* Implement Dispose() here */ }
private Dictionary<string, RegionContext> contextCache = new ..... ();
public RegionContext GetContext(string regionCode)
{
RegionContext rc = null;
if (!this.contextCache.TryGetValue(regionCode.ToUpper(), out rc))
{
rc = new RegionContext(regionCode);
this.contextCache.Add(regionCode.ToUpper(), rc);
}
return rc;
}
您将在哪里使用using()
修复此编译器警告的语句?
我的外部类实际上会contextCache
在它自己的实现中迭代和处理内容。我应该压制它,还是有办法正确摆脱这个警告?