Почему эта используемая переменная недоступна?
У меня есть две локальные переменные с одним и тем же raison d'etre, _lastShortName и _lastCompanyName:
private string _lastShortName = String.Empty;
private string _lastCompanyName = String.Empty;
...which are used like this:
private void AddFillRateByDCByLocationRow(FillRateByDCByLocation
frbdcbl)
{
int rowToPopulate =
_xlSheetFillRateByDCByLocation.UsedRange.Rows.Count + 1;
// Don't want repeats of ShortName
if (!_lastShortName.Equals(frbdcbl.ShortName))
{
var shortNameCell =
(Excel.Range)_xlSheetFillRateByDCByLocation.Cells[rowToPopulate,
SHORTNAME_BYDCBYLOC_COL];
shortNameCell.Value2 = frbdcbl.ShortName;
shortNameCell.Font.Bold = true;
}
_lastShortName = frbdcbl.ShortName;
// ... or CompanyName
if (!_lastCompanyName.Equals(frbdcbl.CompanyName))
{
var companyNameCell =
(Excel.Range)_xlSheetFillRateByDCByLocation.Cells[rowToPopulate,
COMPANYNAME_BYDCBYLOC_COL];
companyNameCell.Value2 = frbdcbl.CompanyName;
companyNameCell.Font.Bold = true;
}
_lastCompanyName = frbdcbl.CompanyName;
. . .
И все же _lastCompanyName затенено там, где оно объявлено. С чего бы это? Resharper > Inspect > Code Issues в Solution не говорит о том, что это неиспользуемая переменная, так что это должна быть Visual Studio, которая делает серую, но почему?