/// <summary> /// Проверяет на корректность текста значения /// </summary> /// <param name="text">Текст значения</param> /// <returns>Возврашает истину если корректно, иначе ложь</returns> public static new bool IsCheck(string text) { if (Regex.IsMatch(text, @"^-?\d+[\.,]?\d*\s*([SMUN]|(MS)|(US)|(NS))?$", RegexOptions.IgnoreCase)) { Match vMatch = Regex.Match(text, DoubleValue.stringRegex); return(vMatch != Match.Empty && DoubleValue.IsCheck(vMatch.Value)); } return(false); }
/// <summary> /// Статический метод создания значения с автоопределением его типа /// </summary> /// <param name="text">Текст значения</param> /// <returns>Объект значения</returns> public static Value CreateInstance(string text) { if (BooleanValue.IsCheck(text)) { return(new BooleanValue(text)); } if (IntegerValue.IsCheck(text)) { return(new IntegerValue(text)); } if (DoubleValue.IsCheck(text)) { return(new DoubleValue(text)); } if (AttenuationValue.IsCheck(text)) { return(new AttenuationValue(text)); } if (CornerValue.IsCheck(text)) { return(new CornerValue(text)); } if (FrequencyValue.IsCheck(text)) { return(new FrequencyValue(text)); } if (TimeValue.IsCheck(text)) { return(new TimeValue(text)); } if (TemperaturaValue.IsCheck(text)) { return(new TemperaturaValue(text)); } if (TimeSpanValue.IsCheck(text)) { return(new TimeSpanValue(text)); } if (DateTimeValue.IsCheck(text)) { return(new DateTimeValue(text)); } //if ( StringValue.IsCheck( text ) ) // return new StringValue( text ); return(null); }