Я пытаюсь добавить шаблон Resharper в каталог шаблонов для сравнения строк. В конечном счете, я хотел бы предупредить меня, когда я сталкиваюсь с кодом, подобным string1 == string2
, и предложить заменить его на string1.Equals(string2, StringComparison.OrdinalIgnoreCase)
. Отсюда я могу изменить его на соответствующий случай, но начальный шаг принуждения к использованию Equals с опциями сравнения делает цель сравнения более очевидной.
Я могу сделать это, создав шаблон поиска:
$string1$ == $string2$
И создание шаблона замены:
$string1$.Equals($string2$, StringComparison.OrdinalIgnoreCase)
Где $ string1 $ и $ string2 $ являются «выражениями» типа «String (или производный тип)». Это хорошее начало, потому что даже если бы я хотел, чтобы это был поиск с учетом регистра, я вижу опции и изменю их.
Проблема, с которой я столкнулся, заключается в том, что теперь она также предупреждает меня о string == null
. Есть ли способ, чтобы исключить null
из поиска?