public IoResult Load(string fromPath, out IAppConfiguration configuration) { configuration = null; try { var serializer = _configurationFactory.CreateSerializerFor <AppConfiguration>(); using (var reader = _configurationFactory .CreateSerializationReaderFor(fromPath)) { configuration = (IAppConfiguration)serializer.Deserialize(reader); return(IoResult.ForSuccess()); } } catch (InvalidOperationException ex) when(ex.InnerException is XmlException) { return(IoResult.ForReadError(ex)); } catch (FileNotFoundException ex) { return(IoResult.ForNotFound(ex)); } catch (DirectoryNotFoundException ex) { return(IoResult.ForNotFound(ex)); } catch (Exception ex) { return(IoResult.ForException(ex)); } }
public void UsingThisConfiguration() { _result = IoResult.ForReadError(Error); }