Проверить корректность реализации IEnumerable и IEnumerable - C#
Формулировка задачи:
Гуру, выручайте!
Разбираюсь в создании обобщенной коллекции и запутался в том, как реализовать интерфейсы IEnumerable<T> и IEnumerable, хотя IEnumerator вроде бы сделан правильно?
P.S. Оные интерфейсы в самом конце коллекции
P.P.S. Заранее спасибо!
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; namespace Collections { class DoubleEndedQueue<T>: ICollection<T>, IList<T> { //СПИСОК ОБЪЕКТОВ private List<T> items; //КОНСТРУКТОР public DoubleEndedQueue() { items = new List<T>(); } //РЕАЛИЗАЦИЯ ICollection<T> #region ICollection<T> Members public void Add(T item) { items.Add(item); } public void Clear() { items.Clear(); } public bool Contains(T item) { return items.Contains(item); } public void CopyTo(T[] array, int arrayIndex) { items.CopyTo(array, arrayIndex); } public int Count { get { return this.Count; } } public bool IsReadOnly { get { return false; } } public bool Remove(T item) { return items.Remove(item); } #endregion //РЕАЛИЗАЦИЯ IList<T> #region List<T> Members public int IndexOf(T item) { return items.IndexOf(item); } public void Insert(int index, T item) { items.Insert(index, item); } public void RemoveAt(int index) { items.RemoveAt(index); } //Indexer public T this[int index] { get { return items[index]; } set { items[index] = value; } } #endregion //РЕАЛИЗАЦИЯ IDisposable #region IDisposable Members public void Dispose() { GC.SuppressFinalize(this); } #endregion //РЕАЛИЗАЦИЯ IEnumerator #region IEnumerator<T> Members int pointer = -1; object Current { get { return items[pointer]; } } bool MoveNext() { if (pointer < (this.Count - 1)) { pointer++; return true; } else { return false; } } void Reset() { pointer = -1; } #endregion //РЕАЛИЗАЦИЯ IEnumerable #region // IEnumerator IEnumerable.GetEnumerator() // { // return new IEnumerator(items); // } #endregion //РЕАЛИЗАЦИЯ IEnumerable<T> #region IEnumerable<T> Members // IEnumerator<T> IEnumerable<T>.GetEnumerator() // { // return new IEnumerable<T>(items); // } #endregion } }
Решение задачи: «Проверить корректность реализации IEnumerable и IEnumerable»
textual
Листинг программы
/// </summary>
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д