Ich habe eine Klasse Mitarbeiter. Ich möchte es validieren(), bevor ich es speichere, um sicherzustellen, dass alle Felder mit gültigen Werten gefüllt sind. Der Benutzer der Klasse kann Validate() aufrufen, bevor sie Save() aufrufen, oder sie können Save() direkt aufrufen und Save() wird dann Validate() aufrufen und wahrscheinlich eine Exception auslösen, wenn die Validierung fehlschlägt.Bewährtes Verfahren, um zusätzliche Informationen aus einer Validate-Funktion zurückzugeben
Jetzt ist meine (Haupt-) Frage das;
Wenn meine Validate() - Funktion einen einfachen Bool zurückgibt, wie sage ich dann dem Benutzer der Klasse, was falsch ist, dh "Email nicht ausgefüllt", "ID nicht eindeutig" usw. Für die Zwecke möchte ich nur die Fehlerzeichenfolgen, die an den menschlichen Benutzer übergeben werden, aber das Prinzip ist das gleiche, wenn ich eine Liste von Fehlercodes haben wollte (abgesehen davon, dass die Verwendung einer Bitmap logischer ist).
Mein spezifisches Programm ist in C#, aber das sieht wie eine ziemlich generische "Best Practice" -Frage aus und ich bin sicher, dass ich die Antwort darauf wissen sollte. Jeder Rat wurde dankbar angenommen.
+1 - Sie haben mich dazu geschlagen. –
Sie haben Recht, ich sollte über meine Fehlermeldungen strukturiert sein und ein zentrales Repository für sie haben, wo ich sie nach der "benutzerfreundlichen" Version etc. suchen kann. – Frans
Einziger Schwachpunkt, den ich mit dieser Lösung habe, ist, dass ich nicht würde benutze '0' als Wert des ersten Enums, das mit' [Flag] 'versehen ist ... – IAbstract