Example #1
0
        static public void Set(string section, string parameter, object value)
        {
            SettingsFieldInfo sfi = sections2SettingsFieldInfo[section];
            FieldInfo         fi  = sfi.Type.GetField(parameter, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);

            Cliver.Settings o = sfi.GetObject();
            setValue(fi, o, value);
        }
Example #2
0
        static public object Get(string section, string parameter)
        {
            SettingsFieldInfo sfi = sections2SettingsFieldInfo[section];
            FieldInfo         fi  = sfi.Type.GetField(parameter, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);

            Cliver.Settings o = sfi.GetObject();
            return(fi.GetValue(o));
        }
Example #3
0
        static public void Save(string configfile = null)
        {
            if (configfile == null)
            {
                Cliver.Config.Save();
            }
            else
            {
                Dictionary <string, Dictionary <string, object> > sections2parameters2value = new Dictionary <string, Dictionary <string, object> >();
                foreach (string s in sections2SettingsFieldInfo.Keys)
                {
                    SettingsFieldInfo           sfi = sections2SettingsFieldInfo[s];
                    Dictionary <string, object> parameters2value = new Dictionary <string, object>();
                    sections2parameters2value[s] = parameters2value;
                    Cliver.Settings o = sfi.GetObject();
                    foreach (FieldInfo fi in sfi.Type.GetFields(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance))
                    {
                        parameters2value[fi.Name] = fi.GetValue(o);
                    }
                }

                Serialization.Json.Save(configfile, sections2parameters2value);
            }
        }