ReSharper est assez intelligent pour savoir que string.Format
nécessite un non nul argument de format
il me met en garde contre quand j'écris simplementPuis-je enseigner à ReSharper un test nul personnalisé?
_message = string.Format(messageFormat, args);
où messageFormat
peut en effet être nul. Dès que j'ajoute une condition pour cette variable:
if (!string.IsNullOrEmpty(messageFormat))
{
_message = string.Format(messageFormat, args);
}
l'avertissement disparaît. Unfortunatelly il ne pas lorsque j'utilise une méthode d'extension:
if (messageFormat.IsNotNullOrEmpty())
{
_message = string.Format(messageFormat, args); // possible 'null' assignment warning
}
Ma question est: est-il possible de enseigner ReSharper que ma méthode d'extension a la même signification que !string.IsNullOrEmpty(messageFormat)
?
L'extension est définie comme:
public static bool IsNotNullOrEmpty([CanBeNull] this string value) => !IsNullOrEmpty(value);
ce travail? '' chaîne statique EmptyIfNull (cette chaîne s) { return string.IsNullOrEmpty (s)? "": s; } '' alors '' _message = string.Format (messageFormat.EmptyIfNull(), args), '' – dumetrulo