Exemple #1
0
        private T LoadConfig <T>() where T : class, IConfig, new()
        {
            var handlerContainer = serializationNecessities.GetTrwHandlerContainer(ConfigSerializationNecessitiesProvider.SerializationType);
            var options          = new TrwSerializationOptions
            {
                ExplicitTypes = TrwSerializationExplicitTypes.Never
            };

            using (var fileStream = fileStorage.FileSystem.OpenRead(GetFileName <T>()))
                using (var trwReader = trwFactory.JsonReader(fileStream))
                    using (var context = new TrwSerializationReadContext(trwReader, handlerContainer, null, options))
                        return(context.Read <T>());
        }
Exemple #2
0
        public void SaveConfig <T>() where T : class, IConfig, new()
        {
            var config           = (T)configs.GetOrAdd(typeof(T), x => new T());
            var handlerContainer = serializationNecessities.GetTrwHandlerContainer(ConfigSerializationNecessitiesProvider.SerializationType);
            var typeRedirects    = serializationNecessities.GetTrwHandlerTypeRedirects(ConfigSerializationNecessitiesProvider.SerializationType);
            var options          = new TrwSerializationOptions
            {
                ExplicitTypes = TrwSerializationExplicitTypes.Never
            };

            using (var fileStream = fileStorage.FileSystem.OpenWriteNew(GetFileName <T>()))
                using (var trwReader = trwFactory.JsonWriter(fileStream))
                    using (var context = new TrwSerializationWriteContext(trwReader, handlerContainer, typeRedirects, options))
                        context.Write <T>(config);
        }