Как получить доступ к полю внешнего класса? - C#

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

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

Нужно получить доступ к полю внешнего класса из вложенного. Выдает ошибку: Для нестатического поля, метода или свойства "Stack<T>.first" требуется ссылка на объект. Создавать экземпляр внешнего класса во вложенном как-то не логично что ли.
 public class Stack<T> : IStack<T>, IEnumerator<T>
    {
        private Node<T> first;
        private int N;
 
        public class Node<T>
        {
            public T item;
            public Node<T> next;
 
        }
 
        public bool isEmpty()
        {
            return first == null;
        }
        public void Push(T item)
        {
            Node<T> oldfirst = first;
            first = new Node<T>();
            first.item = item;
            first.next = oldfirst;
            N++;
        }

        public T Pop()
        {
            T item = first.item;
            first = first.next;
            N--;
            return item;
        }
 
        public int Size()
        {
            return N;
        }

        private class ListIterator
        {
            private Node<T> current = first;
 
            public bool MoveNext()
            {
                return first != null;
            }
 
            public T Next()
            {
 
            }
        }
    }
}

Решение задачи: «Как получить доступ к полю внешнего класса?»

textual
Листинг программы
private  static Node<T> first;

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


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

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

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