public static string Serialize <TCloneSource>(this TCloneSource original)
            where TCloneSource : IJsonCloneSource
        {
            var serializerSettings = new DefaultSerializeSettings();

            return(JsonConvert.SerializeObject(original, serializerSettings));
        }
        public static TClonable Deserialize <TClonable, TCloneSource>(string encodedContent)
            where TClonable : IJsonCloneable <TCloneSource>, TCloneSource
            where TCloneSource : IJsonCloneSource
        {
            var serializerSettings = new DefaultSerializeSettings();
            var copy = JsonConvert.DeserializeObject <TClonable>(encodedContent, serializerSettings);

            return(copy);
        }
Ejemplo n.º 3
0
        public static TSettings CreateInstance <TSettings>(IChangeTracked parent, string encodedSource = "") where TSettings : SettingsContainer
        {
            var createNew          = String.IsNullOrEmpty(encodedSource);
            var serializerSettings = new DefaultSerializeSettings();
            var settings           = !createNew?
                                     JsonConvert.DeserializeObject <TSettings>(encodedSource, serializerSettings) ?? Activator.CreateInstance <TSettings>() :
                                         Activator.CreateInstance <TSettings>();

            settings.Parent = parent;
            if (createNew)
            {
                settings.AfterConstruction();
            }
            settings.AfterCreate();
            return(settings);
        }
Ejemplo n.º 4
0
        public string Serialize()
        {
            var serializerSettings = new DefaultSerializeSettings();

            return(JsonConvert.SerializeObject(this, serializerSettings));
        }