次のコードに CA2000 警告が 6 つあります。コード分析を行うと、この警告が表示されます。この警告を克服する方法と、この警告が表示される理由を教えてください。この警告をクリアする方法を教えてください。事前に感謝します。
if (e.Row.RowType == DataControlRowType.Footer)
{
decimal num3 = 0;
foreach (GridViewRow gridViewRow in this.gvTax.Rows)
{
Label label2 = gridViewRow.FindControl("lbltax") as Label;
num3 += Convert.ToDecimal(label2.Text);
}
int count = e.Row.Cells.Count;
for (int i = 0; i <= count - 1; i++)
{
e.Row.Cells[i].Visible = false;
}
TableHeaderCell tableHeaderCell = new TableHeaderCell();
tableHeaderCell.Text = "Total Commission";
tableHeaderCell.ColumnSpan = 1;
tableHeaderCell.HorizontalAlign = HorizontalAlign.Center;
tableHeaderCell.VerticalAlign = VerticalAlign.Middle;
e.Row.Cells.AddAt(0, tableHeaderCell);
tableHeaderCell = new TableHeaderCell();
tableHeaderCell.Text = Math.Round(num, 2).ToString();
tableHeaderCell.ColumnSpan = 1;
tableHeaderCell.HorizontalAlign = HorizontalAlign.Center;
tableHeaderCell.VerticalAlign = VerticalAlign.Middle;
e.Row.Cells.AddAt(1, tableHeaderCell);
tableHeaderCell = new TableHeaderCell();
tableHeaderCell.Text = "Net Commission";
tableHeaderCell.ColumnSpan = 1;
tableHeaderCell.HorizontalAlign = HorizontalAlign.Center;
tableHeaderCell.VerticalAlign = VerticalAlign.Middle;
e.Row.Cells.AddAt(2, tableHeaderCell);
tableHeaderCell = new TableHeaderCell();
tableHeaderCell.Text = Math.Round(num - num3, 2).ToString();
tableHeaderCell.ColumnSpan = 1;
tableHeaderCell.HorizontalAlign = HorizontalAlign.Center;
tableHeaderCell.VerticalAlign = VerticalAlign.Middle;
e.Row.Cells.AddAt(3, tableHeaderCell);
tableHeaderCell = new TableHeaderCell();
tableHeaderCell.Text = "Total Deduction";
tableHeaderCell.ColumnSpan = 1;
tableHeaderCell.HorizontalAlign = HorizontalAlign.Center;
tableHeaderCell.VerticalAlign = VerticalAlign.Middle;
e.Row.Cells.AddAt(4, tableHeaderCell);
tableHeaderCell = new TableHeaderCell();
tableHeaderCell.Text = Math.Round(num3, 2).ToString();
tableHeaderCell.ColumnSpan = 1;
tableHeaderCell.HorizontalAlign = HorizontalAlign.Center;
tableHeaderCell.VerticalAlign = VerticalAlign.Middle;
e.Row.Cells.AddAt(5, tableHeaderCell);
}
}
警告は次のとおりです。
01 ) 警告 1 CA2000 : Microsoft.Reliability : メソッド 'Pay.gvTax_RowDataBound(object, GridViewRowEventArgs)' で、オブジェクト 'tableHeaderCell' がすべての例外パスに沿って配置されていません。オブジェクトへのすべての参照が範囲外になる前に、オブジェクト 'tableHeaderCell' で System.IDisposable.Dispose を呼び出します。
02) 警告 2 CA2000: Microsoft.Reliability: メソッド 'Pay.gvTax_RowDataBound(object, GridViewRowEventArgs)' で、オブジェクト 'tableHeaderCell' がすべての例外パスに沿って配置されていません。オブジェクトへのすべての参照が範囲外になる前に、オブジェクト 'tableHeaderCell' で System.IDisposable.Dispose を呼び出します。
03) 警告 4 CA2000 : Microsoft.Reliability : メソッド 'Pay.gvTax_RowDataBound(object, GridViewRowEventArgs)' で、オブジェクト 'tableHeaderCell' がすべての例外パスに沿って配置されていません。オブジェクトへのすべての参照が範囲外になる前に、オブジェクト 'tableHeaderCell' で System.IDisposable.Dispose を呼び出します。
04) 警告 4 CA2000 : Microsoft.Reliability : メソッド 'Pay.gvTax_RowDataBound(object, GridViewRowEventArgs)' で、オブジェクト 'tableHeaderCell' がすべての例外パスに沿って配置されていません。オブジェクトへのすべての参照が範囲外になる前に、オブジェクト 'tableHeaderCell' で System.IDisposable.Dispose を呼び出します。
05) 警告 5 CA2000 : Microsoft.Reliability : メソッド 'PayCommission.gvCommissionTax_RowDataBound(object, GridViewRowEventArgs)' で、オブジェクト 'tableHeaderCell' がすべての例外パスに沿って配置されていません。オブジェクトへのすべての参照が範囲外になる前に、オブジェクト 'tableHeaderCell' で System.IDisposable.Dispose を呼び出します。
06) 警告 6 CA2000 : Microsoft.Reliability : メソッド 'PayCommission.gvCommissionTax_RowDataBound(object, GridViewRowEventArgs)' で、オブジェクト 'tableHeaderCell' がすべての例外パスに沿って配置されていません。オブジェクトへのすべての参照が範囲外になる前に、オブジェクト 'tableHeaderCell' で System.IDisposable.Dispose を呼び出します。