/// <summary> /// Convert value from a correct string. /// </summary> /// <param name="s">String to convert.</param> /// <param name="ret">Output value.</param> /// <returns>True if conversion was successful.</returns> public static bool FromString(string s, out RelativePosition2 ret) { ret = RelativePosition2.Zero; string[] parms = s.Split(new[] { listSeparator }, StringSplitOptions.None); if (parms.Length == 4) { float x; float y; float rx; float ry; if (FromString(parms[0], out x) && FromString(parms[1], out y) && FromString(parms[2], out rx) && FromString(parms[3], out ry) ) { ret = new RelativePosition2(x, y, rx, ry); return(true); } } return(false); }
////////////////////////////////////////////////////////////////////////// // RelativePosition2 ////////////////////////////////////////////////////////////////////////// /// <summary> /// Convert value to a safely formated string. /// </summary> /// <param name="v">Value to convert.</param> /// <returns>A string without culture variation.</returns> public static string ToString(RelativePosition2 v) { return (v.OffsetX.ToString(CultureInfo.InvariantCulture) + listSeparatorAndSpace + v.OffsetY.ToString(CultureInfo.InvariantCulture) + listSeparatorAndSpace + v.RelativeX.ToString(CultureInfo.InvariantCulture) + listSeparatorAndSpace + v.RelativeY.ToString(CultureInfo.InvariantCulture)); }