ReSharper достаточно умен, чтобы знать, что a string.Format
требует аргумент not-null format
, поэтому он предупреждает меня об этом, когда я просто пишу
_message = string.Format(messageFormat, args);
где messageFormat
действительно может быть нулевым. Как только я добавлю условие для этой переменной:
if (!string.IsNullOrEmpty(messageFormat))
{
_message = string.Format(messageFormat, args);
}
предупреждение исчезает. К сожалению, это не происходит, когда я использую метод расширения:
if (messageFormat.IsNotNullOrEmpty())
{
_message = string.Format(messageFormat, args); // possible 'null' assignment warning
}
Мой вопрос: есть ли способ научить ReSharper, что мой метод расширения имеет то же значение, что и !string.IsNullOrEmpty(messageFormat)
?
Расширение определяется как:
public static bool IsNotNullOrEmpty([CanBeNull] this string value) => !IsNullOrEmpty(value);