public void CopyFrom(InheritableDictionary source) { if (null == source) { throw new ArgumentNullException(nameof(source)); } foreach (string key in source.LocalKeys()) { Set(key, source.Get(key, false)); } }
public IEnumerable <string> AllKeys() { List <string> existingKeys = new List <string>(); InheritableDictionary pointer = this; do { foreach (string key in pointer.LocalKeys()) { if (!existingKeys.Contains(key)) { existingKeys.Add(key); yield return(key); } } pointer = pointer.Parent; } while (null != pointer); }
public InheritableDictionaryKeyNotFoundException(InheritableDictionary inheritableDictionary, string key) : base(key) { InheritableDictionary = inheritableDictionary; }
public InheritableDictionary(InheritableDictionary parent, string level) : this(parent) { Level = level; }
public InheritableDictionary(InheritableDictionary parent) : this() { Parent = parent ?? throw new ArgumentNullException(nameof(parent)); }