Esempio n. 1
0
        /// <summary>
        /// Gets or sets the <see cref="CategorizedSettingsElement"/> object at the specified index.
        /// </summary>
        /// <param name="index">Zero-based index for the <see cref="CategorizedSettingsElement"/> object to retrieve.</param>
        /// <returns>The <see cref="CategorizedSettingsElement"/> object at the specified index if it exists; otherwise null.</returns>
        public CategorizedSettingsElement this[int index]
        {
            get
            {
                if (index >= base.Count)
                {
                    throw new IndexOutOfRangeException();
                }

                CategorizedSettingsElement setting = (CategorizedSettingsElement)base.BaseGet(index);
                setting.SetCryptoKey(m_cryptoKey);

                return(setting);
            }
            set
            {
                if ((object)base.BaseGet(index) != null)
                {
                    base.BaseRemoveAt(index);
                }

                base.BaseAdd(index, value);
                Modified = true;
            }
        }
Esempio n. 2
0
 /// <summary>
 /// Adds a new <see cref="CategorizedSettingsElement"/> object if one does not exist.
 /// </summary>
 /// <param name="setting">The <see cref="CategorizedSettingsElement"/> object to add.</param>
 public void Add(CategorizedSettingsElement setting)
 {
     if ((object)base.BaseGet(setting.Name) == null)
     {
         // Add the element only if it does not exist.
         setting.Category = this;
         setting.SetCryptoKey(m_cryptoKey);
         base.BaseAdd(setting);
         Modified = true;
     }
 }
Esempio n. 3
0
        /// <summary>
        /// Gets the <see cref="CategorizedSettingsElement"/> object with the specified name.
        /// </summary>
        /// <param name="name">Name of the <see cref="CategorizedSettingsElement"/> object to retrieve.</param>
        /// <param name="ensureExistance">true if the <see cref="CategorizedSettingsElement"/> object is to be created if it does not exist; otherwise false.</param>
        /// <returns>The <see cref="CategorizedSettingsElement"/> object with the specified name if it exists; otherwise null.</returns>
        public CategorizedSettingsElement this[string name, bool ensureExistance]
        {
            get
            {
                // Add setting since it's not there
                if (ensureExistance && (object)base.BaseGet(name) == null)
                {
                    Add(name, string.Empty);
                }

                CategorizedSettingsElement setting = (CategorizedSettingsElement)base.BaseGet(name);

                // Set the crypto key for the setting
                if ((object)setting != null)
                {
                    setting.SetCryptoKey(m_cryptoKey);
                }

                return(setting);
            }
        }