開発中にパラメーター入力と検証の問題が発生することがよくあります。一般的な検証方法は次のとおりです。
public bool register(string name、int age){if(string.isnullorempty(name)){throw new argumentException( "name not nut be vate"、 "name"); } if(age <10 || age> 70){新しいargumentexception( "年齢は10〜70"、 "age"); } // ...}需要が変化すると、変更される対応するコードがたくさんありますが、これはより面倒です。私は最近、JavaとC#の2つの便利なパラメーター検証方法と接触しました。簡単な紹介をさせてください。
Javaパラメーター検証:
GoogleのGuavaの下でヘルパークラスを使用してください。
com.google.common.base.preconditionsをインポートします。
サンプルコード:
public static void checkPersonInfo(int age、string name){preconditions.CheckNotNull(name、 "name is null"); Preconditions.CheckArgument(name.length()> 0、 "名前の長さは0より大きくなければなりません"); Preconditions.Checkargument(年齢> 0、 "年齢は0より大きい必要があります"); System.out.println( "人年齢:" + age + "、name:" + name); } public static void getPostCode(string code){preconditions.CheckArgument(CheckPostCode(code)、 "zip Codeは要件を満たしていません"); System.out.println(code); } public static void main(string [] args){try {checkpersonInfo(10、 "fdsfsd"); CheckPersonInfo(10、null); CheckPersonInfo(-10、 "fdsfsd"); getPostCode( "012234"); } catch(Exception e){e.printstacktrace(); }}パラメーターが要件を満たしていない場合、例外情報をスローし、例外で伝えられる情報はその後カスタマイズされた文字列になり、書き込みがはるかに便利になります。
C#パラメーター検証:
FluentValidationをクラスライブラリとして使用します。参照アドレスは以下にあります。
使い方:
シンプルな人のクラス:
public class person {public string name {set;得る; } public int age {set;得る; } public Person(string name、int age){name = name;年齢=年齢; }}人の検証クラス:
public class personvalidator:abstractValidator <serson> {public personvalidator(){roolfor(x => x.name).notempty()。 rulefor(x => x.name).length(1,50).withmessage( "名前文字は50"を超えることはできません); rulefor(x => x.age).greaterthan(0).withmessage( "年齢は0より大きくなければならない"); } private bool balidname(string name){//ロジックの検証済みロジックを検証するカスタム名はtrueを返します。 }}使用:
クラスプログラム{static void main(string [] args){person customer = new person(null、-10); personvalidator validator = new PersonValidator(); validationResult results = validator.validate(customer); bool validationsucceded = results.isvalid; ilist <balidationFailure> failures = results.errors; foreach(障害のvar障害){console.writeline(fails.errormessage); } console.readkey(); }}FluentValidationのドキュメント:http://fluentvalidation.codeplex.com/documentation
上記は、編集者からもたらされたJavaおよびC#の下のパラメーター検証方法のすべてのコンテンツです。私はそれがすべての人に役立ち、wulin.comをもっとサポートすることを願っています〜