public static void IfKeys(string value, Action <Keys> successAction, Action <string> failAction) { try { Keys keys = (Keys) new KeysConverter().ConvertFromString(value); FromString.SafeInvoke <Keys>(successAction, keys); } catch (Exception) { FromString.SafeInvoke <string>(failAction, value); } }
public static void IfPoint(string value, Action <Point> successAction, Action <string> failAction) { try { Point point = (Point) new PointConverter().ConvertFromInvariantString(value); FromString.SafeInvoke <Point>(successAction, point); } catch (Exception) { FromString.SafeInvoke <string>(failAction, value); } }
public static void IfRectangle(string value, Action <Rectangle> successAction, Action <string> failAction) { try { Rectangle rect = (Rectangle) new RectangleConverter().ConvertFromInvariantString(value); FromString.SafeInvoke <Rectangle>(successAction, rect); } catch (Exception) { FromString.SafeInvoke <string>(failAction, value); } }
public static void IfEnum <T>(string value, Action <T> successAction, Action <string> failAction) { try { T enumValue = (T)Enum.Parse(typeof(T), value); FromString.SafeInvoke <T>(successAction, enumValue); } catch (Exception) { FromString.SafeInvoke <string>(failAction, value); } }
/// <summary> /// Tries to parse a string value to an integer value, and executes a specified action delegate on success, or /// another action delegate on failure. /// </summary> /// <param name="value">The string value to parse.</param> /// <param name="successAction">The action delegate to execute on success.</param> /// <param name="failAction">The action delegate to execute on failure.</param> public static void IfInt(string value, Action <int> successAction, Action <string> failAction) { int i; if (int.TryParse(value, out i)) { FromString.SafeInvoke <int>(successAction, i); } else { FromString.SafeInvoke <string>(failAction, value); } }
/// <summary> /// Tries to parse a string value to a TimeSpan value, and executes a specified action delegate on success, or /// another action delegate on failure. /// </summary> /// <param name="value">The string value to parse.</param> /// <param name="successAction">The action delegate to execute on success.</param> /// <param name="failAction">The action delegate to execute on failure.</param> public static void IfTimeSpan(string value, Action <TimeSpan> successAction, Action <string> failAction) { TimeSpan timeSpan; if (TimeSpan.TryParse(value, out timeSpan)) { FromString.SafeInvoke <TimeSpan>(successAction, timeSpan); } else { FromString.SafeInvoke <string>(failAction, value); } }
/// <summary> /// Tries to parse a string value to an double value, and executes a specified action delegate on success, or /// another action delegate on failure. /// </summary> /// <param name="value">The string value to parse.</param> /// <param name="successAction">The action delegate to execute on success.</param> /// <param name="failAction">The action delegate to execute on failure.</param> public static void IfDouble(string value, Action <double> successAction, Action <string> failAction) { double d; if (double.TryParse(value, NumberStyles.Any, CultureInfo.InvariantCulture, out d)) { FromString.SafeInvoke <double>(successAction, d); } else { FromString.SafeInvoke <string>(failAction, value); } }
/// <summary> /// Tries to parse a string value to an boolean value, and executes a specified action delegate on success, or /// another action delegate on failure. /// </summary> /// <param name="value">The string value to parse.</param> /// <param name="successAction">The action delegate to execute on success.</param> /// <param name="failAction">The action delegate to execute on failure.</param> public static void IfBool(string value, Action <bool> successAction, Action <string> failAction) { bool b; if (bool.TryParse(value, out b)) { FromString.SafeInvoke <bool>(successAction, b); } else { FromString.SafeInvoke <string>(failAction, value); } }
/// <summary> /// Tries to parse a string value to two integer value, and executes a specified action delegate on success, or /// another action delegate on failure. /// </summary> /// <param name="value">The string value to parse.</param> /// <param name="separator">The character that separates the two integer values.</param> /// <param name="successAction">The action delegate to execute on success.</param> /// <param name="failAction">The action delegate to execute on failure.</param> public static void IfIntPair(string value, char separator, IntPairAction successAction, Action <string> failAction) { string[] pair = value.Split(separator); int i, j; if ((pair.Length > 1) && int.TryParse(pair[0].Trim(), out i) && int.TryParse(pair[1].Trim(), out j)) { if (successAction != null) { successAction(i, j); return; } } FromString.SafeInvoke <string>(failAction, value); }
public static void IfHtmlColor(string value, Action <Color> successAction, Action <string> failAction) { try { Color color = ColorTranslator.FromHtml(value); if (!color.IsEmpty) { FromString.SafeInvoke <Color>(successAction, color); } else { FromString.SafeInvoke <string>(failAction, value); } } catch { FromString.SafeInvoke <string>(failAction, value); } }