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>()); }
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); }