using PlcSiemens.Core.Extension; namespace PlcSiemens.Core.Common { /// /// 参数检查 /// public static class Argument { /// /// 非法Guid /// /// Guid变量 /// Guid变量名 /// 非法参数 /// Argument.IsNotEmptyGuid(argument,argumentName) public static void IsNotEmptyGuid(Guid argument, string argumentName) { if (argument.IsEmpty()) { throw new ArgumentException("\"{0}\" cannot be empty guid.".FormatWith(argumentName), argumentName); } } /// /// 非法string /// /// Guid变量 /// Guid变量名 /// 非法参数 /// Argument.IsNotEmpty(argument,argumentName) public static void IsNotEmpty(string argument, string argumentName) { if (argument.IsNullOrEmpty()) { throw new ArgumentException("\"{0}\" cannot be blank.".FormatWith(argumentName), argumentName); } } /// /// string超出长度 /// /// Guid变量 /// 最大长度 /// Guid变量名 /// 非法参数 /// Argument.IsNotOutOfLength(argument,length,argumentName) public static void IsNotOutOfLength(string argument, int length, string argumentName) { IsNotEmpty(argument, argumentName); if (argument.Trim().Length > length) { throw new ArgumentOutOfRangeException( "\"{0}\" cannot be more than {1} character.".FormatWith(argumentName, length), argumentName); } } /// /// 检查对象不为空 /// /// /// /// 非法参数 /// Argument.IsNotNull(argument,argumentName) public static void IsNotNull(object argument, string argumentName) { if (argument == null) { throw new ArgumentNullException(argumentName); } } /// /// 检查int对象不为负数 /// /// /// /// 非法参数 /// Argument.IsNotNegative(argument,argumentName) public static void IsNotNegative(int argument, string argumentName) { if (argument < 0) { throw new ArgumentOutOfRangeException(argumentName); } } /// /// 检查int对象大于0 /// /// /// /// 非法参数 /// Argument.IsNotNegativeOrZero(argument,argumentName) public static void IsNotNegativeOrZero(int argument, string argumentName) { if (argument <= 0) { throw new ArgumentOutOfRangeException(argumentName); } } /// /// 检查long对象不为负数 /// /// /// /// 非法参数 /// Argument.IsNotNegative(argument,argumentName) public static void IsNotNegative(long argument, string argumentName) { if (argument < 0) { throw new ArgumentOutOfRangeException(argumentName); } } /// /// 检查long对象大于0 /// /// /// /// 非法参数 /// Argument.IsNotNegativeOrZero(argument,argumentName) public static void IsNotNegativeOrZero(long argument, string argumentName) { if (argument <= 0) { throw new ArgumentOutOfRangeException(argumentName); } } /// /// 检查float对象不为负数 /// /// /// /// 非法参数 /// Argument.IsNotNegative(argument,argumentName) public static void IsNotNegative(float argument, string argumentName) { if (argument < 0) { throw new ArgumentOutOfRangeException(argumentName); } } /// /// 检查float对象大于0 /// /// /// /// 非法参数 /// Argument.IsNotNegativeOrZero(argument,argumentName) public static void IsNotNegativeOrZero(float argument, string argumentName) { if (argument <= 0) { throw new ArgumentOutOfRangeException(argumentName); } } /// /// 检查decimal对象不为负数 /// /// /// /// 非法参数 /// Argument.IsNotNegative(argument,argumentName) public static void IsNotNegative(decimal argument, string argumentName) { if (argument < 0) { throw new ArgumentOutOfRangeException(argumentName); } } /// /// 检查decimal对象大于0 /// /// /// /// 非法参数 /// Argument.IsNotNegativeOrZero(argument,argumentName) public static void IsNotNegativeOrZero(decimal argument, string argumentName) { if (argument <= 0) { throw new ArgumentOutOfRangeException(argumentName); } } /// /// 检查时间是否有效 /// /// /// /// 非法参数 /// Argument.IsNotInvalidDate(argument,argumentName) public static void IsNotInvalidDate(DateTime argument, string argumentName) { if (!argument.IsValid()) { throw new ArgumentOutOfRangeException(argumentName); } } /// /// 检查时间过期 /// /// /// /// 非法参数 /// Argument.IsNotInPast(argument,argumentName) public static void IsNotInPast(DateTime argument, string argumentName) { if (argument < SystemTime.Now()) { throw new ArgumentOutOfRangeException(argumentName); } } /// /// 检查时间超期 /// /// /// /// 非法参数 /// Argument.IsNotInFuture(argument,argumentName) public static void IsNotInFuture(DateTime argument, string argumentName) { if (argument > SystemTime.Now()) { throw new ArgumentOutOfRangeException(argumentName); } } /// /// 检查TimeSpan是否有效 /// /// /// /// 非法参数 /// Argument.IsNotNegative(argument,argumentName) public static void IsNotNegative(TimeSpan argument, string argumentName) { if (argument < TimeSpan.Zero) { throw new ArgumentOutOfRangeException(argumentName); } } /// /// 检查TimeSpan是否有效 /// /// /// /// 非法参数 /// Argument.IsNotNegativeOrZero(argument,argumentName) public static void IsNotNegativeOrZero(TimeSpan argument, string argumentName) { if (argument <= TimeSpan.Zero) { throw new ArgumentOutOfRangeException(argumentName); } } /// /// 检查ICollection不为空 /// /// /// /// 非法参数 /// Argument.IsNotEmpty(argument,argumentName) public static void IsNotEmpty(ICollection argument, string argumentName) { IsNotNull(argument, argumentName); if (argument.Count == 0) { throw new ArgumentException("Collection cannot be empty.", argumentName); } } /// /// 检查int值是否超出范围 /// /// /// /// /// /// /// Argument.IsNotOutOfRange(argument,min,max,argumentName) public static void IsNotOutOfRange(int argument, int min, int max, string argumentName) { if ((argument < min) || (argument > max)) { throw new ArgumentOutOfRangeException(argumentName, "{0} must be between \"{1}\"-\"{2}\".".FormatWith(argumentName, min, max)); } } /// /// 非法邮箱地址 /// /// /// /// /// Argument.IsNotOutOfRange(argument ,argumentName) public static void IsNotInvalidEmail(string argument, string argumentName) { IsNotEmpty(argument, argumentName); if (!argument.IsEmail()) { throw new ArgumentException("\"{0}\" is not a valid email address.".FormatWith(argumentName), argumentName); } } /// /// 非法Web地址 /// /// /// /// /// Argument.IsNotOutOfRange(argument ,argumentName) public static void IsNotInvalidWebUrl(string argument, string argumentName) { IsNotEmpty(argument, argumentName); if (!argument.IsWebUrl()) { throw new ArgumentException("\"{0}\" is not a valid web url.".FormatWith(argumentName), argumentName); } } } }