Using for disposable 类型的正确用法
Correct usage of Using for disposable types
我有这个代码
using(MyStopWatch st= new MyStopWatch())
{
St.start();
St.stop();
}
当我 运行 fxcop 时出现 CA1001 错误
并且
MyStopWatch st= null;
using( st= new MyStopWatch())
{
St.start();
St.stop();
}
分析时没有给出任何fxcop规则错误,这两种情况有什么区别,第二次使用是否造成内存泄漏?使用块是否没有按我预期的方式运行?
在我看来像是误报。就处理而言,您的两个代码示例之间应该没有区别。
不过,建议使用第一个示例,因为您可能不希望在使用范围之外使用已处置的对象。
我有这个代码
using(MyStopWatch st= new MyStopWatch())
{
St.start();
St.stop();
}
当我 运行 fxcop 时出现 CA1001 错误 并且
MyStopWatch st= null;
using( st= new MyStopWatch())
{
St.start();
St.stop();
}
分析时没有给出任何fxcop规则错误,这两种情况有什么区别,第二次使用是否造成内存泄漏?使用块是否没有按我预期的方式运行?
在我看来像是误报。就处理而言,您的两个代码示例之间应该没有区别。
不过,建议使用第一个示例,因为您可能不希望在使用范围之外使用已处置的对象。