Bei der Entwicklung treten häufig Parametereingangs- und Überprüfungsprobleme auf. Die allgemeinen Überprüfungsmethoden sind wie folgt:
public bool Register (String -Name, int age) {if (string.isnullorEmpty (name)) {neue argumentException ("Name sollte nicht leer sein", "Name"); } if (Alter <10 || Alter> 70) {neue ArgumentException werfen ("Das Alter muss zwischen 10 und 70", "Alter"); } // ...}Wenn sich die Nachfrage ändert, müssen viele entsprechende Codes geändert werden, was problematischer ist. Ich bin kürzlich mit zwei bequemen Parameterüberprüfungsmethoden in Java und C#in Kontakt gekommen. Lassen Sie mich Ihnen eine kurze Einführung geben.
Java -Parameterüberprüfung:
Verwenden Sie eine Helferklasse unter Googles Guave:
import com.google.common.base.preconditions;
Beispielcode:
public static void CheckpersonInfo (int Alter, String -Name) {Vorkonditions.Checknotnull (Name, "Name is null"); Vorkonditions.Checkargument (name.length ()> 0, "Name Länge muss größer als 0"); Vorkonditions.Checkargument (Alter> 0, "Alter muss größer als 0" sein); System.out.println ("Eine Person Alter:" + älter + ", Name:" + Name); } public static void getPostCode (String -Code) {Vorkonditions.Checkargument (checkPostCode (Code), "Die Postleitzahl erfüllt die Anforderungen nicht"); System.out.println (Code); } public static void main (String [] args) {try {checkpersonInfo (10, "fdsfsd"); checkpersonInfo (10, null); checkPersonInfo (-10, "fdsfsd"); getPostcode ("012234"); } catch (Ausnahme e) {e.printstacktrace (); }}Wenn die Parameter nicht die Anforderungen entsprechen, machen Sie Ausnahmeinformationen und die in der Ausnahme enthaltenen Informationen sind die anschließende Zeichenfolge, die das Schreiben viel bequemer macht.
C# Parameterüberprüfung:
Verwenden Sie die Fluentvalidation als Klassenbibliothek, die Referenzadresse ist unten.
Wie man verwendet:
Eine einfache Personklasse:
public class Person {public String Name {set; erhalten; } public int age {set; erhalten; } public Person (String -Name, int age) {name = name; Alter = Alter; }}Überprüfungsklasse der Person:
personalvalidator public class: AbstractValidator <Person> {public PersonValidator () {regelfor (x => x.Name) .notEmpty (). Withmessage ("Name kann nicht leer sein"); RegelFor (x => x.Name) .Length (1,50) .Withmessage ("Name Zeichen darf 50" nicht überschreiten "); RegelFor (x => x.age) .GreaterThan (0) .Withmessage ("Alter muss größer als 0" sein); } private bool validName (String -Name) {// benutzerdefinierte Name validating Logic wird hier zurückgeben. }}verwenden:
Klassenprogramm {static void main (String [] args) {Person customer = new Person (null, -10); PersonValidator validator = neuer PersonValidator (); ValidationResult -Ergebnisse = validator.Validate (Kunde); bool validations scsceded = results.isvalid; Ilist <ValidationFailure> failures = results.Errors; foreach (var fehler in fehlern) {console.writeLine (fails.rormessage); } Console.readkey (); }}Dokumentation zur Fluentvalidation: http://fluentvalidation.codeplex.com/documentation
Das obige ist der gesamte Inhalt der Parameterüberprüfungsmethode unter Java und C# vom Editor zu Ihnen gebracht. Ich hoffe, es wird für alle hilfreich sein und wulin.com mehr ~ unterstützen ~