Проверить корректность реализации IEnumerable и IEnumerable - C#

Узнай цену своей работы

Формулировка задачи:

Гуру, выручайте! Разбираюсь в создании обобщенной коллекции и запутался в том, как реализовать интерфейсы IEnumerable<T> и IEnumerable, хотя IEnumerator вроде бы сделан правильно? P.S. Оные интерфейсы в самом конце коллекции P.P.S. Заранее спасибо!
Листинг программы
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. namespace Collections
  7. {
  8. class DoubleEndedQueue<T>: ICollection<T>, IList<T>
  9. {
  10.  
  11. //СПИСОК ОБЪЕКТОВ
  12. private List<T> items;
  13.  
  14. //КОНСТРУКТОР
  15. public DoubleEndedQueue()
  16. {
  17. items = new List<T>();
  18. }
  19.  
  20. //РЕАЛИЗАЦИЯ ICollection<T>
  21. #region ICollection<T> Members
  22. public void Add(T item)
  23. {
  24. items.Add(item);
  25. }
  26. public void Clear()
  27. {
  28. items.Clear();
  29. }
  30. public bool Contains(T item)
  31. {
  32. return items.Contains(item);
  33. }
  34. public void CopyTo(T[] array, int arrayIndex)
  35. {
  36. items.CopyTo(array, arrayIndex);
  37. }
  38. public int Count
  39. {
  40. get
  41. {
  42. return this.Count;
  43. }
  44. }
  45. public bool IsReadOnly
  46. {
  47. get
  48. {
  49. return false;
  50. }
  51. }
  52. public bool Remove(T item)
  53. {
  54. return items.Remove(item);
  55. }
  56. #endregion
  57.  
  58. //РЕАЛИЗАЦИЯ IList<T>
  59. #region List<T> Members
  60. public int IndexOf(T item)
  61. {
  62. return items.IndexOf(item);
  63. }
  64. public void Insert(int index, T item)
  65. {
  66. items.Insert(index, item);
  67. }
  68. public void RemoveAt(int index)
  69. {
  70. items.RemoveAt(index);
  71. }
  72. //Indexer
  73. public T this[int index]
  74. {
  75. get
  76. {
  77. return items[index];
  78. }
  79. set
  80. {
  81. items[index] = value;
  82. }
  83. }
  84. #endregion
  85.  
  86. //РЕАЛИЗАЦИЯ IDisposable
  87. #region IDisposable Members
  88. public void Dispose()
  89. {
  90. GC.SuppressFinalize(this);
  91. }
  92. #endregion
  93.  
  94. //РЕАЛИЗАЦИЯ IEnumerator
  95. #region IEnumerator<T> Members
  96. int pointer = -1;
  97. object Current
  98. {
  99. get
  100. {
  101. return items[pointer];
  102. }
  103. }
  104.  
  105. bool MoveNext()
  106. {
  107. if (pointer < (this.Count - 1))
  108. {
  109. pointer++;
  110. return true;
  111. }
  112. else
  113. {
  114. return false;
  115. }
  116. }
  117. void Reset()
  118. {
  119. pointer = -1;
  120. }
  121. #endregion
  122. //РЕАЛИЗАЦИЯ IEnumerable
  123. #region
  124. // IEnumerator IEnumerable.GetEnumerator()
  125. // {
  126. // return new IEnumerator(items);
  127. // }
  128. #endregion
  129.  
  130. //РЕАЛИЗАЦИЯ IEnumerable<T>
  131. #region IEnumerable<T> Members
  132. // IEnumerator<T> IEnumerable<T>.GetEnumerator()
  133. // {
  134. // return new IEnumerable<T>(items);
  135. // }
  136. #endregion
  137. }
  138. }

Решение задачи: «Проверить корректность реализации IEnumerable и IEnumerable»

textual
Листинг программы
  1. /// </summary>

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


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

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

12   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы