Проблемы ввода и проверки параметров часто встречаются во время разработки. Общие методы проверки следующие:
public bool Register (string name, int age) {if (string.isnullorempty (name)) {throw new argirtexception («Имя не должно быть пустым», «Имя»); } if (возраст <10 || возраст> 70) {бросить новое аргумент } // ...}Когда спрос меняется, существует много соответствующих кодов, которые необходимо изменить, что является более хлопотным. Я недавно вступил в контакт с двумя удобными методами проверки параметров в Java и C#. Позвольте мне кратко представить вам.
Проверка параметров Java:
Используйте помощник класса по Google Guava:
Импорт com.google.common.base.preconditions;
Пример кода:
public static void chectpersonInfo (int age, string name) {prosonditions.checknotnull (имя, "имя is is null"); Preconditions.checkargument (name.length ()> 0, «Длина имени должна быть больше 0»); Preconditions.checkargument (возраст> 0, «Возраст должен быть больше 0»); System.out.println («Возраст человека:« + возраст + », имя:« + name); } public static void getPostCode (String Code) {preconditions.checkargument (CheckPostCode (Code), "Zip -код не соответствует требованиям"); System.out.println (код); } 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 Perfor (String name, int age) {name = name; Возраст = возраст; }}Класс проверки человека:
открытый класс PersonValidator: AbstractValidator <Person> {public personvalidator () {rulefor (x => x.name) .notempty (). withmessage («Имя не может быть пусто»); Rugefor (x => x.name) .length (1,50) .withmessage («Имя символ не может превышать 50»); Rugefor (x => x.age) .greaterthan (0) .withmessage («Возраст должен быть больше 0»); } private bool valiveName (string name) {// пользовательское имя проверка логики здесь return true; }}использовать:
класс программа {static void main (string [] args) {person customer = new Person (null, -10); PersonValidator valyator = new PersonValidator (); ValidationResult Results = valyator.validate (клиент); bool valyationsucecuded = results.isvalid; Ilist <valyationFailure> отказ = results.errors; foreach (var сбой в сбоях) {console.writeline (afflm.errormessage); } Console.readkey (); }}Документация для FluentValidation: http://fluentvalidation.codeplex.com/documentation
Выше всего содержимое метода проверки параметров в рамках Java и C#, представленного вам редактором. Я надеюсь, что это будет полезно для всех и поддерживать wulin.com больше ~