Этот метод является обработчиком событий для OnRowCommand
в элементе управления aspx GridView. Resharper предупреждает, что gvUnits
, gvUnit.DataKeys
и gvUnits.DataKeys[index]
могут быть нулевыми, и предлагает добавить проверки во втором операторе if. После их добавления создается дополнительное предупреждение о том, что gvUnits.DataKeys != null
всегда верно. Ни добавление этих проверок, как предлагалось, ни ручное добавление утверждений не подавляли предупреждения.
Я не понимаю, что здесь происходит: gvUnits volatile, и если да, то почему, это ошибка в resharper 5.1 или что-то еще происходит?
protected void GvUnitsRowCommand(object sender, System.Web.UI.WebControls.GridViewCommandEventArgs e)
{
if (e.CommandName == "EditUnit")
{
int index = int.Parse(e.CommandArgument.ToString());
if (gvUnits != null && gvUnits.DataKeys != null && gvUnits.DataKeys.Count > index)
{
Debug.Assert(gvUnits != null);
Debug.Assert(gvUnits.DataKeys != null);
Debug.Assert(gvUnits.DataKeys[index] != null);
int unitID = (int)gvUnits.DataKeys[index].Value;
//do stuff with unitID
}
}
}