我有这段代码
using(MyStopWatch st= new MyStopWatch())
{
St.start();
St.stop();
}
当我运行fxcop时,这给了我CA1001错误 并且
MyStopWatch st= null;
using( st= new MyStopWatch())
{
St.start();
St.stop();
}
在分析中没有给出任何fxcop规则错误,这两种情况之间有什么区别,第二种用法是否会造成内存泄漏?使用块的方式与我期望的方式不一样吗?
答案 0 :(得分:2)
对我来说看起来像是误报。对于处理方式,两个代码示例之间应该没有区别。
但是,建议使用第一个样本,因为您可能不希望在使用范围之外使用已处置的对象。