示例#1
0
        //------------------------------------------------------------------------------
        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;
                }
            }
        }
示例#2
0
        //------------------------------------------------------------------------------
        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);
            }
        }