Ejemplo n.º 1
0
        public override object DeserializePropertyValue(string value)
        {
            if (string.IsNullOrEmpty(value))
            {
                return(DefaultValue);
            }
            ValueWrapper valueWrapper;

            using (var stream = new MemoryStream(Convert.FromBase64String(value))) {
                var formatter         = new BinaryFormatter();
                var surrogateSelector = new SurrogateSelector();
                formatter.SurrogateSelector = surrogateSelector;
                var deserializationBinder = new DeserializationBinder(surrogateSelector);
                formatter.Binder = deserializationBinder;
                valueWrapper     = formatter.Deserialize(stream) as ValueWrapper;
            }
            if (valueWrapper == null || valueWrapper.Type == null || valueWrapper.Value == null)
            {
                return(DefaultValue);
            }

            var serializer   = new XmlSerializer(valueWrapper.Type);
            var stringReader = new StringReader(valueWrapper.Value);
            var xmlReader    = new XmlTextReader(stringReader);

            return(serializer.Deserialize(xmlReader));
        }
Ejemplo n.º 2
0
 // deserialize from the file fileName
 public void DeSerialize()
 {
     // if file exist deserialize
     if (File.Exists(fileName))
     {
         using (FileStream fs = File.OpenRead(fileName))
         {
             dic = ((SerializableDictionary <K, V>)DeserializationBinder.Deserialize(fs)).dic;
         }
     }
 }
Ejemplo n.º 3
0
 public override object DeserializePropertyValue(string value)
 {
     if (value == null)
     {
         return(DefaultValue);
     }
     using (var stream = new MemoryStream(Convert.FromBase64String(value))) {
         var formatter         = new BinaryFormatter();
         var surrogateSelector = new SurrogateSelector();
         formatter.SurrogateSelector = surrogateSelector;
         var deserializationBinder = new DeserializationBinder(surrogateSelector);
         formatter.Binder = deserializationBinder;
         return(formatter.Deserialize(stream));
     }
 }