Beispiel #1
0
        public Editor(object owner)
        {
            foreach (PropertyInfo f in owner.GetType().GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance).Where(f => f.GetCustomAttributes(typeof(EditablePreferenceAttribute), false).Any()))
            {
                EditableInfo info = new EditableInfo(f);
                editables.Add(info.Name, info);
            }

            this.owner = owner;
        }
Beispiel #2
0
        public string Unset(string name)
        {
            EditableInfo info = GetEditableInfo(name);

            if (!info.CanUnset)
            {
                throw new ArgumentException("Can't unset '" + name + "' preference.");
            }

            string old = Get(name);

            info.DirectAccessor.Set(owner, info.Default);
            return(old);
        }