Проверить корректность реализации 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>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5
Похожие ответы