using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Sdaleo { /// /// Useful Utilities around objects /// internal static class ObjTool { /// /// Returns true if passed in object is valid and is not empty /// /// an object to validate /// true if valid, false otherwise internal static bool IsNotNullAndNotEmpty(object oToValidate) { if ((oToValidate != null) && (oToValidate.ToString() != String.Empty)) return true; else return false; } /// /// Convert a string to an Object of Type T /// /// Should be a System Type like string, bool, int32, double, decimal, etc... /// String Value to Convert /// an converted Object of Type t, or T Default if error occured internal static T ConvertStringToObj(string strToConvert) { // Create a Default Type T T retVal = default(T); try { #region Conversion if (retVal is Char) { retVal = (T)((object)strToConvert[0]); } else if (retVal is String) { retVal = (T)((object)strToConvert); } else if (retVal is Decimal) { retVal = (T)((object)Decimal.Parse(strToConvert)); } else if (retVal is Int32) { retVal = (T)((object)Int32.Parse(strToConvert)); } else if (retVal is Int64) { retVal = (T)((object)Int64.Parse(strToConvert)); } else if (retVal is Single) { retVal = (T)((object)Single.Parse(strToConvert)); } else if (retVal is Double) { retVal = (T)((object)Double.Parse(strToConvert)); } else if (retVal is Boolean) { retVal = (T)((object)Boolean.Parse(strToConvert)); } else if (retVal is DateTime) { retVal = (T)((object)DateTime.Parse(strToConvert)); } #if NET40 else if (retVal is Guid) { retVal = (T)((object)Guid.Parse(strToConvert)); } #endif else if (retVal is IntPtr) { retVal = (T)((object)Int32.Parse(strToConvert)); } else if (retVal is UInt32) { retVal = (T)((object)UInt32.Parse(strToConvert)); } else if (retVal is UInt64) { retVal = (T)((object)UInt64.Parse(strToConvert)); } else { retVal = (T)((object)(strToConvert)); } #endregion } catch (Exception) { /* ignore */ } // return T return retVal; } } }