检查我使用Resharper继承的项目,它首先建议我将其包装:
if (cellRng != null)
...围绕一些代码,所以只有当cellRng不为null时才会对其执行操作。但是在这样做之后,它告诉我“if block”代码无法访问,无论如何。以下是上下文中的代码:
if (cellRng != null)
{
cellRng.Font.Bold = true;
cellRng.Value2 = ave.ToString(CultureInfo.InvariantCulture);
cellRng.NumberFormat = "##0.00";
cellRng.HorizontalAlignment = XlHAlign.xlHAlignCenter;
. . .
}
代码如何引用可能为空的对象(cellRng),然后,在实现该检查之后,实际上结果总是为null(如果不为null则运行的代码被视为无法访问)?
在下面的第二行中,Resharper提供删除代码,说“表达式始终为空”
cellRng = _xlSheet5.Cells[rowIdx, colCnt] as Range;
if (cellRng != null)
但那是怎么回事?如何将分配给cellRng的范围视为始终为空?
上面代码后面的if块中的代码被Resharper标记为“代码启发式无法访问”
捷克人!?!?!