добавить значение в список из другого класса, вызвав исключение NullRefernceException - PullRequest
1 голос
/ 17 июня 2020

Я пытаюсь добавить значение из другого класса в список, созданный в другом классе. Я поставил очень простой эксперимент, но он всегда вызывает ошибку.

первый класс - это просто скрипт gameObject, который прикреплен к объекту

public class gameObject : Agent
{
    public Area area;

    public override void Initialize()
    {
        var testData = new test
        {
            name = "test value",
        };
       area.testList.Add(testData);
    }

}

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

public class test
{
    public string name;
}

public class Area : MonoBehaviour 
{
    public List<test> testList =  new List<test>()
}

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

1 Ответ

1 голос
/ 17 июня 2020

Вы инициализируете список testList в классе VoxelArea, но используете Area.

заменяете Area на VoxelArea или инициализируете area.testList и area перед добавлением.

public class gameObject : Agent
{
    public Area area; //initialize Area 

    public override void Initialize()
    {
        var testData = new test
        {
            name = "test value",
        };
        //area = new Area(); //initialize Area 
        area.testList = new List<test>();//<--NOTE THIS
        area.testList.Add(testData);
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...