Pull to refresh
13
0
Send message

ReSharper: Анализ на NullReferenceException и контракты для него

Reading time7 min
Views5K

Если вы используете ReSharper, то вы, наверняка, знакомы с его подсветкой "Possible 'NullReferenceException'". В этой статье я кратко расскажу об анализаторе, который выводит предупреждения такого рода, и о том, как ему помочь делать это лучше.


Сразу рассмотрим пример:


`public string Bar(bool condition)
{
  string iAmNullSometimes = condition? «Not null value»: null;
  return iAmNullSometimes.ToUpper();
}

* This source code was highlighted with Source Code Highlighter.`

ReSharper справедливо подсветит iAmNullSometimes во второй строке метода с таким предупреждением. Теперь выделим метод:


`public string Bar(bool condition)
{
  string iAmNullSometimes = GetNullWhenFalse(condition);
  return iAmNullSometimes.ToUpper();
}

public string GetNullWhenFalse(bool condition)
{
  return condition? «Not null value»: null;
}

* This source code was highlighted with Source Code Highlighter.`

После этой операции предупреждение пропадает. Почему так происходит?

Читать дальше →
Total votes 53: ↑39 and ↓14+25
Comments22

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity