以下代码生成 CA2000 警告:
Myclass myclass = null;
try
{
myclass = new Myclass { Name = "a name" };
}
finally
{
if (myclass != null)
{
myclass.Dispose();
}
}
我发现了一些具有相同问题的主题,据我所知,问题是编译器为构造函数生成了一个临时变量,而对于这个变量,我没有调用 Dispose()。
var tmp = new MyClass();
tmp.Name = "a name";
myclass = tmp:
所以我的问题是,如果有使用对象初始化程序的解决方案,它不会生成 ca2000 警告。
提前致谢。