コード例 #1
0
 public void saveToFile()
 {
     // If a settings file already exists, it WILL be overwritten by this function!
     foreach (KeyValuePair <string, object> pair in settings)
     {
         string key   = pair.Key;
         object value = pair.Value;
         if (value is double)
         {
             SettingsFileLowLevelIO.writeDouble(key, double.Parse(value.ToString()), SettingsFilePath);
         }
         else if (value is int)
         {
             SettingsFileLowLevelIO.writeInteger(key, int.Parse(value.ToString()), SettingsFilePath);
         }
         else if (value is string)
         {
             SettingsFileLowLevelIO.writeString(key, value.ToString(), SettingsFilePath);
         }
         else if (value is bool)
         {
             SettingsFileLowLevelIO.writeBoolean(key, bool.Parse(value.ToString()), SettingsFilePath);
         }
     }
 }
コード例 #2
0
        // Auto-load/save functions
        public void loadFromFile() // List itself should contain the default values
        {
            // Check for nonexistent files (to speed things up)
            if (!File.Exists(SettingsFilePath))
            {
                return;
            }

            // Load values
            for (int i = 0; i < settings.Count; i++)
            {
                KeyValuePair <string, object> kvp = settings.ElementAt <KeyValuePair <string, object> >(i);

                string key   = kvp.Key;
                object value = kvp.Value;

                string type = Convert.ToString(kvp.GetType()).ToLowerInvariant();

                if (SettingsFileLowLevelIO.keyExistsInFile(key, SettingsFilePath))
                {
                    // Any errors triggered by the read... functions should NOT be handled here (so the programmer is notified of them)!
                    if (value is int)
                    {
                        value = SettingsFileLowLevelIO.readInteger(key, SettingsFilePath);
                    }
                    if (value is double)
                    {
                        value = SettingsFileLowLevelIO.readDouble(key, SettingsFilePath);
                    }
                    if (value is string)
                    {
                        value = SettingsFileLowLevelIO.readString(key, SettingsFilePath);
                    }
                    if (value is bool)
                    {
                        value = SettingsFileLowLevelIO.readBoolean(key, SettingsFilePath);
                    }
                }

                // Update value
                settings[key] = value;
            }
        }