Usiamo il framework .NET 2.0 con C# 3.0 (penso che sia l'ultima versione di C# che può essere eseguita sulla versione 2.0 del framework, correggimi se sbaglio).Un modo migliore per controllare i parametri?
Esiste qualcosa in C# che può rendere più conveniente questo tipo di convalida dei parametri?
public ConnectionSettings(string url, string username, string password,
bool checkPermissions)
{
if (username == null) {
throw new ArgumentNullException("username");
}
if (password == null) {
throw new ArgumentNullException("password");
}
if (String.IsNullOrEmpty(url)) {
throw new ArgumentException("Must not be null or empty, it was " +
(url == null ? url : "empty"), "url");
}
this.url = url;
this.username = username;
this.password = password;
this.checkPermissions = checkPermissions;
}
Questo tipo di convalida dei parametri diventa un modello e risultati comuni in un sacco di codice "quasi boilerplate" a guadare attraverso nei nostri metodi pubblici.
Se non c'è nulla di integrato. Ci sono grandi librerie libere che potremmo usare?
penso che questa linea necessità cambiare per evitare un'eccezione riferimento null? (url == null? Url: "vuoto"), "url"); a (url == null? "Null": "vuoto"), "url"); – w69rdy
Stai cercando uno strumento di programmazione orientata agli aspetti. So che ci sono alcuni là fuori, che si integrano con Visual Studio e iniettano il codice negli assembly IL in fase di compilazione. Ma non riesco a far funzionare il mio google stamattina. – Will
Dovresti essere in grado di mettere a punto alcuni metodi di convenienza per fornire la maggior parte delle funzionalità, ma sono d'accordo, sarebbe bello avere dello zucchero sintetico per questo. Sono particolarmente stufo di lanciare due eccezioni separate per i due casi di stringhe.IsNullOrEmpty – cristobalito