Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从另一个类向列表中添加值引发NullReferenceException_C#_Unity3d - Fatal编程技术网

C# 从另一个类向列表中添加值引发NullReferenceException

C# 从另一个类向列表中添加值引发NullReferenceException,c#,unity3d,C#,Unity3d,我试图将另一个类中的值添加到另一个类中创建的列表中。我做了一个非常简单的实验,但它总是给我带来错误 第一类只是附加到对象的gameObject脚本 public class gameObject : Agent { public Area area; public override void Initialize() { var testData = new test { name = "test value",

我试图将另一个类中的值添加到另一个类中创建的列表中。我做了一个非常简单的实验,但它总是给我带来错误

第一类只是附加到对象的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>()
}
公共类测试
{
公共字符串名称;
}
公共类领域:单一行为
{
公共列表testList=新列表()
}

为什么该值总是返回
null
?如果我将数据添加到area类中,它将正常工作您在
体素区域
类中初始化
测试列表
列表,但您使用的是
区域

添加前,将
区域
替换为
体素区域
或初始化
区域。测试列表
区域

公共类游戏对象:代理
{
公共区域;//初始化区域
公共覆盖无效初始化()
{
var testData=新测试
{
name=“测试值”,
};
//区域=新区域();//初始化区域

area.testList=new List();//
testList
VoxelArea
中初始化的
area
类是什么?@Sajid可能是由于键入错误,我已经更正了它,只初始化了area,就像
area area=new area()
不是“area”属性也需要初始化吗?@谢谢guidance@FarhadZamani它似乎可以工作,但现在我得到了“您正在尝试使用'new'关键字创建单行为。这是不允许的。只能使用AddComponent()添加单行为。或者,您的脚本可以从ScriptableObject继承,或者根本没有基类”相反?@James我不知道
unity3d
但是在
c
中,你必须在初始化
List
中键入和类,然后再添加新值。@FarhadZamani我已经整理好了!谢谢你。我还需要在gameObject脚本中附加区域脚本附加的gameObject来启动它