当我运行代码分析工具时,我得到以下内容:
警告1 CA2000:Microsoft.Reliability:在方法"Class1.test.testMethod()"中,对象"dt"未沿所有异常路径放置.对所有对它的引用超出范围之前,在对象'dt'上调用System.IDisposable.Dispose.如何解决警告?
public void testMethod()
{
DataTable dt = new DataTable();
DataTable dt1= new DataTable();
try
{
if (dt.Rows.Count == 0)
{
dt1.Merge(dt);
}
}
catch
{
throw;
}
finally
{
if (dt != null) dt.Dispose();
if (dt1 != null) dt1.Dispose();
}
}
Run Code Online (Sandbox Code Playgroud)
不确定为什么会出现该错误,但您可以using在方法中尝试使用语句块并查看错误是否消失.试试吧:
public void testMethod()
{
using (DataTable dt = new DataTable())
using (DataView dv = new DataView(dt))
{
//your work
}
}
Run Code Online (Sandbox Code Playgroud)