Ich habe eine Funktion in meinem C# Klasse:Soll die Validierung für verschiedene Codebausteine kombiniert werden?
class Fun {
private string waterGun;
private string jacket;
void HaveSomeFun(bool summers) {
waterGun = <Some Value>
jacket = <Some Other Value>
validate();
if(summers) {
Console.WriteLine("Using {0}", waterGun);
} else {
Console.WriteLine("Using {0}", jacket);
}
}
private void validate() {
ArgumentValidationHelper.ValidateNotNullOrEmpty("WaterGun", this.waterGun);
ArgumentValidationHelper.ValidateNotNullOrEmpty("Jacket", this.jacket);
}
}
ich die Variablen Instanzmitglieder für die Validierung nur mache. Ist es sinnvoll, den Gültigkeitsbereich von Variablen von einer Methode zu einer Klasse nur für die Validierung zu erhöhen?
Gibt es einen anderen (besseren) Weg, um diese Funktionalität zu erreichen, wenn die Validierung zentralisiert ist und Variablen nicht als Klassenmitglieder benötigt werden?
Wenn Sie mutig genug sind, können Sie [System.ComponentModel.DataAnnotations] (https://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.validator (v = vs.110) verwenden. aspx). [Hier] (http://stackoverflow.com/q/2109423/6138713) ist eine beantwortete Frage, die sich auf Datenanmerkungen bezieht. –