Duplicar posible:
Extension Methods vs Static Utility Classvs. clase auxiliar
Estoy construyendo un API de funciones generales que realizan acciones basadas en objetos en .NET. Por ejemplo; Creé una función que verifica una cadena para ver si es una dirección de correo electrónico.
Yo tampoco podía tener:
static bool IsEmailAddress(string text)
{
return IsMail(text);
}
o podría crear un método de extensión que sería utilizada de esta manera:
string text = "[email protected]";
if (text.IsEmailAddress())
{
}
que es más adecuado, o cree que ya que esta es una biblioteca de propósito general, técnicamente podría implementarlo en ambos sentidos y permitir que el desarrollador decida cuál es el mejor para ellos?
** BTW: ** use 'return IsMail (text)' en lugar de la instrucción if. –
Iría con los métodos de extensión Y la refactorización sugerida por Mahmoud. –
Creo que no es responsabilidad de 'string' saber qué es una dirección de correo electrónico. Entonces, no creo que esto deba ser un método de extensión. – CodesInChaos