Eventuali duplicati:
Extension Methods vs Static Utility Classvs. classe helper
Sto costruendo un'API di funzioni generali che eseguono azioni basate su oggetti in .NET. Per esempio; Ho creato una funzione che controlla una stringa per vedere se si tratta di un indirizzo email.
Potevo avere:
static bool IsEmailAddress(string text)
{
return IsMail(text);
}
o ho potuto creare un metodo di estensione che sarebbe stato utilizzato in questo modo:
string text = "[email protected]";
if (text.IsEmailAddress())
{
}
, che è più adatto, o pensi che dal momento che questo è un libreria generica, potrei tecnicamente implementarla in entrambi i modi e consentire allo sviluppatore di decidere quale sia la soluzione migliore per loro?
** BTW: ** utilizzare 'return IsMail (text)' invece dell'istruzione if. –
Mi piacerebbe andare con i metodi di estensione E il refactoring di Mahmoud suggerito. –
Penso che non sia responsabilità di 'string' sapere quale sia l'indirizzo di posta elettronica. Quindi non penso che questo dovrebbe essere un metodo di estensione. – CodesInChaos