J'utilise généralement les méthodes d'extension avec parcimonie. Quand je me sens obligé d'écrire une méthode d'extension, je veux parfois surcharger la méthode. Ma question est, quelles sont vos pensées sur les méthodes de vulgarisation appelant d'autres méthodes de vulgarisation? Mauvaise pratique? C'est mal, mais je ne peux pas vraiment définir pourquoi.Extensions C#
Par exemple, la deuxième méthode CaselessIs appelle la première:
public static bool CaselessIs(this string s, string compareTo)
{
return string.Compare(s, compareTo, true) == 0;
}
public static bool CaselessIs(this string s, IEnumerable<string> compareTo)
{
foreach(string comparison in compareTo)
{
if (s.CaselessIs(comparison))
{
return true;
}
}
return false;
}
Serait-il plus approprié de ne pas le faire? L'inconvénient serait que cela viole DRY.
public static bool CaselessIs(this string s, string compareTo)
{
return string.Compare(s, compareTo, true) == 0;
}
public static bool CaselessIs(this string s, IEnumerable<string> compareTo)
{
foreach(string comparison in compareTo)
{
if (string.Compare(s, comparison, true) == 0)
{
return true;
}
}
return false;
}
"CaselessIs" n'est pas un nom de fonction très intuitif. Je recommanderais peut-être de le changer en "CompareCaseless" –
Aussi, vous voudrez peut-être changer le titre de cette question pour être un peu plus précis quant à ce que vous demandez. –