using System.ComponentModel; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.IO; using System.Xml; using System.Text.RegularExpressions; public static class GlobalExtensionMethods { public static bool TryConvertTo(this string str, out T result) { result = default(T); var converter = TypeDescriptor.GetConverter(typeof(T)); if(!converter.CanConvertFrom(typeof(string))) return false; result = (T)(converter.ConvertFromInvariantString(str)); return true; } public static T ConvertTo(this string str) { T result; if(!str.TryConvertTo(out result)) throw new InvalidOperationException( String.Format("No type conversion exist from string to {0}", typeof(T))); return result; } }