พารามิเตอร์อินพุตและปัญหาการตรวจสอบมักพบในระหว่างการพัฒนา วิธีการตรวจสอบทั่วไปมีดังนี้:
การลงทะเบียนบูลสาธารณะ (ชื่อสตริงอายุ int) {ถ้า (string.isnullorempty (ชื่อ)) {โยนอาร์กิวเมนต์ใหม่ ("ชื่อไม่ควรว่างเปล่า", "ชื่อ"); } ถ้า (อายุ <10 || อายุ> 70) {โยนอาร์กิวเมนต์ใหม่ ("อายุต้องอยู่ระหว่าง 10 ถึง 70", "อายุ"); -เมื่อความต้องการเปลี่ยนแปลงมีรหัสที่สอดคล้องกันจำนวนมากที่จะเปลี่ยนแปลงซึ่งเป็นปัญหามากขึ้น ฉันเพิ่งสัมผัสกับวิธีการตรวจสอบพารามิเตอร์ที่สะดวกสองวิธีใน Java และ C# ให้ฉันแนะนำสั้น ๆ
การตรวจสอบพารามิเตอร์ Java:
ใช้คลาส Helper ภายใต้ GOUAVA ของ Google:
นำเข้า com.google.common.base.preconditions;
รหัสตัวอย่าง:
public static void checkpersoninfo (อายุ int, ชื่อสตริง) {preconditions.checknotnull (ชื่อ, "ชื่อคือ null"); preconditions.Checkargument (name.length ()> 0, "ความยาวชื่อต้องมากกว่า 0"); preconditions.Checkargument (อายุ> 0, "อายุต้องมากกว่า 0"); System.out.println ("อายุบุคคล:" + อายุ + ", ชื่อ:" + ชื่อ); } โมฆะคงที่สาธารณะ getPostCode (รหัสสตริง) {preconditions.CheckArgument (pheckPostCode (รหัส), "รหัสไปรษณีย์ไม่เป็นไปตามข้อกำหนด"); System.out.println (รหัส); } โมฆะคงที่สาธารณะหลัก (สตริง [] args) {ลอง {checkPersonInfo (10, "fdsfsd"); CheckPersonInfo (10, null); CheckPersonInfo (-10, "FDSFSD"); getPostCode ("012234"); } catch (exception e) {e.printstacktrace (); -เมื่อพารามิเตอร์ไม่เป็นไปตามข้อกำหนดให้โยนข้อมูลข้อยกเว้นและข้อมูลที่ดำเนินการในข้อยกเว้นคือสตริงที่กำหนดเองหลังจากนั้นซึ่งทำให้การเขียนสะดวกมากขึ้น
การตรวจสอบพารามิเตอร์ C#:
ใช้ FluentValidation เป็นไลบรารีคลาสที่อยู่อ้างอิงอยู่ด้านล่าง
วิธีใช้:
คลาสบุคคลที่เรียบง่าย:
บุคคลชั้นเรียนสาธารณะ {ชื่อสตริงสาธารณะ {set; รับ; } อายุ int สาธารณะ {set; รับ; } บุคคลสาธารณะ (ชื่อสตริงอายุ int) {name = name; อายุ = อายุ; -ชั้นการตรวจสอบของบุคคล:
personvalidator ชั้นเรียนสาธารณะ: AbstractValidator <Person> {Public PersonValidator () {Rulefor (x => x.name) .NotEmpty (). withMessage ("ชื่อไม่ว่าง"); Rulefor (x => x.name) .length (1,50) .withMessage ("ชื่อชื่อไม่เกิน 50"); Rulefor (x => x.age) .greaterthan (0) .withMessage ("อายุจะต้องมากกว่า 0"); } private bool validName (ชื่อสตริง) {// ชื่อที่กำหนดเองการตรวจสอบความถูกต้องลอจิกไปที่นี่ส่งคืนจริง; -ใช้:
โปรแกรมคลาส {โมฆะคงที่หลัก (สตริง [] args) {person customer = บุคคลใหม่ (null, -10); PersonValidator Validator = new PersonValidator (); validationResult results = validator.validate (ลูกค้า); การตรวจสอบความถูกต้องของ bool uckceeded = results.isvalid; ILIST <AvalidationFailure> ความล้มเหลว = results.errors; foreach (var failure ในความล้มเหลว) {Console.WriteLine (failure.erRorMessage); } console.readkey (); -เอกสารสำหรับ fluentvalidation: http://fluentvalidation.codeplex.com/documentation
ข้างต้นเป็นเนื้อหาทั้งหมดของวิธีการตรวจสอบพารามิเตอร์ภายใต้ Java และ C# ที่นำเสนอโดยเครื่องมือแก้ไข ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคนและสนับสนุน wulin.com เพิ่มเติม ~