Как сохранить в файл не сериализуемый объект? - C#
Формулировка задачи:
Получаю из сторонней библиотеки объект который хотел сохранять между сессиями при помощи бинарной сериализации, но тип объекта не помечен как сериализуемый. Есть какая-то возможность хранить этот объект между сессиями?
Решение задачи: «Как сохранить в файл не сериализуемый объект?»
textual
Листинг программы
public class MyContractResolver : Newtonsoft.Json.Serialization.DefaultContractResolver { protected override IList<JsonProperty> CreateProperties(Type type, MemberSerialization memberSerialization) { var props = type.GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance) .Select(p => base.CreateProperty(p, memberSerialization)) .Union(type.GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance) .Select(f => base.CreateProperty(f, memberSerialization))) .ToList(); props.ForEach(p => { p.Writable = true; p.Readable = true; }); return props; } } var settings = new JsonSerializerSettings() { ContractResolver = new MyContractResolver() }; var json = JsonConvert.SerializeObject(obj, settings);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д