Convalida dei parametri del costruttore in C# - Best practice
https://softwareengineering.stackexchange.com/questions/51062
-
31-10-2019 - |
Domanda
Qual è la migliore pratica per la convalida dei parametri del costruttore?
Supponiamo che un po 'di c#:
public class MyClass
{
public MyClass(string text)
{
if (String.IsNullOrEmpty(text))
throw new ArgumentException("Text cannot be empty");
// continue with normal construction
}
}
Sarebbe accettabile lanciare un'eccezione?
L'alternativa che ho incontrato è stata la pre-convalida, prima di istanziare:
public class CallingClass
{
public MyClass MakeMyClass(string text)
{
if (String.IsNullOrEmpty(text))
{
MessageBox.Show("Text cannot be empty");
return null;
}
else
{
return new MyClass(text);
}
}
}
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a softwareengineering.stackexchange