diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeElementsList.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeElementsList.cs index 8ffb4da501..252961cb43 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeElementsList.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeElementsList.cs @@ -24,14 +24,10 @@ using ICSharpCode.SharpDevelop.Dom; namespace ICSharpCode.PackageManagement.EnvDTE { - public class CodeElementsList : MarshalByRefObject, global::EnvDTE.CodeElements, IList + public class CodeElementsList : MarshalByRefObject, global::EnvDTE.CodeElements where T : global::EnvDTE.CodeElement { - List elements = new List(); - - public CodeElementsList() - { - } + readonly List elements = new List(); public int Count { get { return elements.Count; } @@ -60,58 +56,16 @@ namespace ICSharpCode.PackageManagement.EnvDTE return elements.Single(item => item.Name == name); } - public T this[int index] { - get { return elements[index]; } - set { elements[index] = value; } - } - - bool ICollection.IsReadOnly { - get { return false; } - } - - public int IndexOf(T item) - { - return elements.IndexOf(item); - } - - public void Insert(int index, T item) - { - elements.Insert(index, item); - } - - public void RemoveAt(int index) - { - elements.RemoveAt(index); - } - - public void Add(T item) - { - elements.Add(item); - } - - public void Clear() + internal void Add(T element) { - elements.Clear(); + elements.Add(element); } - public bool Contains(T item) + internal void AddRange(IEnumerable items) { - return elements.Contains(item); - } - - public void CopyTo(T[] array, int arrayIndex) - { - elements.CopyTo(array, arrayIndex); - } - - public bool Remove(T item) - { - return elements.Remove(item); - } - - IEnumerator IEnumerable.GetEnumerator() - { - return elements.GetEnumerator(); + foreach (T element in items) { + Add(element); + } } } }