Masalah input dan verifikasi parameter sering ditemui selama pengembangan. Metode verifikasi umum adalah sebagai berikut:
Public Bool Register (nama string, int usia) {if (string.isnullorempty (name)) {throw new ArgumentException ("Nama tidak boleh kosong", "name"); } if (usia <10 || usia> 70) {lempar ArgumentException baru ("Usia harus antara 10 dan 70", "usia"); } // ...}Ketika permintaan berubah, ada banyak kode yang sesuai untuk diubah, yang lebih merepotkan. Saya baru -baru ini bersentuhan dengan dua metode verifikasi parameter yang nyaman di Java dan C#. Izinkan saya memberi Anda pengantar singkat.
Verifikasi Parameter Java:
Gunakan kelas pembantu di bawah jambu google:
impor com.google.common.base.preconditions;
Kode contoh:
public static void checkPersonInfo (int usia, nama string) {preconditions.checknotnull (name, "name is null"); Preconditions.checkArgument (name.length ()> 0, "Panjang nama harus lebih besar dari 0"); Prasyarat.CheckArgument (usia> 0, "Umur harus lebih besar dari 0"); System.out.println ("Usia orang:" + usia + ", Nama:" + Nama); } public static void getPostCode (kode string) {preconditions.checkArgument (checkPostCode (kode), "kode pos tidak memenuhi persyaratan"); System.out.println (kode); } public static void main (string [] args) {coba {checkPersonInfo (10, "fdsfsd"); checkpersoninfo (10, null); checkpersoninfo (-10, "fdsfsd"); getPostCode ("012234"); } catch (Exception e) {E.PrintStackTrace (); }}Ketika parameter tidak memenuhi persyaratan, lemparkan informasi pengecualian, dan informasi yang dibawa dalam pengecualian adalah string yang disesuaikan setelahnya, yang membuat tulisan jauh lebih nyaman.
Verifikasi Parameter C#:
Gunakan fluentvalidasi sebagai pustaka kelas, alamat referensi di bawah ini.
Bagaimana menggunakan:
Kelas Orang Sederhana:
Public Class Person {public string name {set; mendapatkan; } public int age {set; mendapatkan; } orang publik (nama string, int usia) {name = name; Usia = usia; }}Kelas Verifikasi Orang:
Public Class PersonValidator: AbstractValidator <Fon> {Public PersonValidator () {ruleFor (x => x.name) .notempty (). WithMessage ("Nama tidak dapat kosong"); RuleFor (x => x.name) .length (1,50) .withmessage ("Karakter nama tidak dapat melebihi 50"); RuleFor (x => x.age). Greaterthan (0) .withmessage ("Umur harus lebih besar dari 0"); } private bool validname (name string) {// nama kustom logika validasi di sini return true; }}menggunakan:
Program kelas {static void main (string [] args) {Person customer = new orang (null, -10); Validator personvalidator = new personvalidator (); ValidationResult hasil = validator.validate (pelanggan); validasi bool yang diperoleh = hasil. ILIST <ValidationFailure> Kegagalan = hasilnya .rors; foreach (var kegagalan dalam kegagalan) {console.writeLine (failure.errormessage); } Console.readkey (); }}Dokumentasi untuk fluentvalidasi: http://fluentvalidation.codeplex.com/documentation
Di atas adalah semua konten dari metode verifikasi parameter di bawah Java dan C# yang dibawa kepada Anda oleh editor. Saya harap ini akan membantu semua orang dan lebih mendukung wulin.com ~