//------------------------------------------------------------------------------ static public T StringToObject <T>(string stringValue) { using (var ms = new MemoryStream()) { var byteValue = Convert.FromBase64String(stringValue); ms.Write(byteValue, 0, byteValue.Length); ms.Seek(0, SeekOrigin.Begin); var settings = SettingsBaseConfiguration.AdvancedConfigurationInternal.SharpSerializerSettings; var old_tnc = settings.AdvancedSettings.TypeNameConverter; try { var tnc = new TypeNameConverter(old_tnc); settings.AdvancedSettings.TypeNameConverter = tnc; var serializer = new SharpSerializer(settings); var result = serializer.Deserialize(ms); return((T)result); } finally { settings.AdvancedSettings.TypeNameConverter = old_tnc; } } }
//------------------------------------------------------------------------------ public static String ObjectToString(Object objectValue) { using (var ms = new MemoryStream()) { var settings = SettingsBaseConfiguration.AdvancedConfigurationInternal.SharpSerializerSettings; var old_tnc = settings.AdvancedSettings.TypeNameConverter; try { var tnc = new TypeNameConverter(old_tnc); settings.AdvancedSettings.TypeNameConverter = tnc; var serializer = new SharpSerializer(settings); serializer.Serialize(objectValue, ms); } finally { settings.AdvancedSettings.TypeNameConverter = old_tnc; } var byteValue = ms.ToArray(); var stringValue = Convert.ToBase64String(byteValue); return(stringValue); } }