NullReferenceException со статическим свойством класса - PullRequest
0 голосов
/ 26 марта 2012

У меня есть статический класс, который выглядит следующим образом:

namespace Argus
{
    static class Argus
    {
        public static List<Branch> myArgus;
    }
}

и в другом месте моего кода у меня есть это:

// Add this branch to myArgus
Argus.myArgus.Add(branch);

Когда я запускаю код, я получаю эту ошибку:

Ссылка на объект не установлена ​​для экземпляра объекта.

Я подтвердил, что branch допустим (это объект класса Branch)и понятия не имею, что здесь может быть не так.Я пытаюсь прочитать данные ветви из текстового файла.

Ответы [ 3 ]

4 голосов
/ 26 марта 2012

Вы должны создать его экземпляр; по умолчанию это значение равно нулю:

public static List<Branch> myArgus = new List<Branch>();
3 голосов
/ 26 марта 2012

Вы должны создать экземпляр myArgus:

public static List<Branch> myArgus = new List<Branch>();
2 голосов
/ 26 марта 2012

Вы никогда не выделяете память для myArgus. Конечно это null.

public static List<Branch> myArgus = new List<Branch>();

Вы всегда должны указывать ссылки на выделенные объекты в памяти, иначе они не могут быть использованы. Попытка вызвать операции со ссылками, не указывающими на выделенную память, приведет к NullPointerException.

...