public ModbusRTUSettings GetCurrentSettings(string settingsFilePath) { ModbusRTUSettings currentSettings = null; BinaryFormatter binaryFormatter = new BinaryFormatter(); try { FileStream fileStream = new FileStream(settingsFilePath, FileMode.Open); currentSettings = (ModbusRTUSettings)binaryFormatter.Deserialize(fileStream); // получаем текущие настройки подключения fileStream.Dispose(); } catch (FileNotFoundException exception) { SettingsFileNotFoundError?.Invoke($"В директории \"Settings\" отсутствует файл настроек {ModbusRTUSettingsFileName} \n\n Подробнее о возникшей исключительной ситуации: \n\n {exception.Message}"); } catch (System.Runtime.Serialization.SerializationException exception) { SettingsFileReadingError?.Invoke($"Возникла ошибка при десериализации объекта настроек программы из файла настроек {ModbusRTUSettingsFileName} \n\n Подробнее о возникшей исключительной ситуации: \n\n {exception.Message}"); } catch (Exception exception) { SettingsFileReadingError?.Invoke($"Возникла ошибка при считывании настроек программы из файла настроек {ModbusRTUSettingsFileName} \n\n Подробнее о возникшей исключительной ситуации: \n\n {exception.Message}"); } return(currentSettings); }
public void SaveSettings(ModbusRTUSettings settings, string settingsFilePath) { BinaryFormatter binaryFormatter = new BinaryFormatter(); try { FileStream fileStream = new FileStream(settingsFilePath, FileMode.OpenOrCreate); binaryFormatter.Serialize(fileStream, settings); // сериализация объекта fileStream.Dispose(); } catch (System.Runtime.Serialization.SerializationException exception) { SettingsFileReadingError?.Invoke($"Возникла ошибка при сериализации объекта настроек программы в файл настроек {ModbusRTUSettingsFileName} \n\n Подробнее о возникшей исключительной ситуации: \n\n {exception.Message}"); } catch (Exception exception) { SettingsFileReadingError?.Invoke($"Возникла ошибка при сериализации объекта настроек программы в файл настроек {ModbusRTUSettingsFileName} \n\n Подробнее о возникшей исключительной ситуации: \n\n {exception.Message}"); } }