ConfigurationList<TItem> abstract class ConfigurationList<TItem> : IList<TItem>, ICollection<TItem>, IEnumerable<TItem>, IEnumerable Documentation Code protected readonly List<TItem> _list public int Count { get; } protected abstract bool IsImmutable { get; } public bool IsReadOnly { get; } public TItem this[int index] { get; set; } public ConfigurationList(IList<TItem> source = null) public void Add(TItem item) public void Clear() public bool Contains(TItem item) public void CopyTo(TItem[] array, int arrayIndex) public IEnumerator<TItem> GetEnumerator() public int IndexOf(TItem item) public void Insert(int index, TItem item) protected virtual void OnAddingElement(TItem item) public bool Remove(TItem item) public void RemoveAt(int index) protected abstract void VerifyMutable()