Наследование и реализация интерфейсов - C#

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

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

Есть всем известный класс List<T>. Он должен реализовать интерфейс IList<T>, который в свою очередь наследует ICollection<T>.
    [TypeDependency("System.SZArrayHelper")]
    public interface ICollection<T> : IEnumerable<T>, IEnumerable
    {
        int Count { get; }
        bool IsReadOnly { get; }

        void Add(T item);
        void Clear();
        bool Contains(T item);
System.Collections.Generic.ICollection<T>.
        bool Remove(T item);
    }
Вопрос -- почему List<T> не реализует bool IsReadOnly { get; }???

Решение задачи: «Наследование и реализация интерфейсов»

textual
Листинг программы
public class List<T> : IList<T>, ICollection<T>, IList, ICollection, 
IReadOnlyList<T>, IReadOnlyCollection<T>, IEnumerable<T>, IEnumerable
{
    bool ICollection<T>.IsReadOnly
    {
      get
      {
        return false;
      }
    }
 
    bool IList.IsReadOnly
    {
      get
      {
        return false;
      }
    }
}

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


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

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

14   голосов , оценка 4.143 из 5