Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.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# UNITY C“获得a”;字段初始值设定项不能引用非静态字段;从其他脚本获取列表时出错 //从获取组件的脚本中摘录 公共游戏对象管理器; List TL=Tile_Manager.GetComponent().TilesL; //如果有帮助的话,用红色下划线标出的是Tile_管理器位 //如何在我的其他脚本(TM)中定义列表 公共列表TilesL=新列表();_C#_Unity5 - Fatal编程技术网

C# UNITY C“获得a”;字段初始值设定项不能引用非静态字段;从其他脚本获取列表时出错 //从获取组件的脚本中摘录 公共游戏对象管理器; List TL=Tile_Manager.GetComponent().TilesL; //如果有帮助的话,用红色下划线标出的是Tile_管理器位 //如何在我的其他脚本(TM)中定义列表 公共列表TilesL=新列表();

C# UNITY C“获得a”;字段初始值设定项不能引用非静态字段;从其他脚本获取列表时出错 //从获取组件的脚本中摘录 公共游戏对象管理器; List TL=Tile_Manager.GetComponent().TilesL; //如果有帮助的话,用红色下划线标出的是Tile_管理器位 //如何在我的其他脚本(TM)中定义列表 公共列表TilesL=新列表();,c#,unity5,C#,Unity5,请参阅,以了解此功能无法工作的原因。基本上,在初始化该类中的另一个字段时,您不能引用您创建的字段,因为编译器可以选择在首次初始化该类时以不同的顺序运行它们 另外,现在Tile_管理器是空的,所以即使编译了它,当它运行时也会得到一个NullReferenceException。 为了解决这个问题,您可能应该为您的类添加一个构造函数,在该类中初始化Tile_Manager,然后在下面的行中初始化TL,请参阅,以了解为什么这样做不起作用。基本上,在初始化该类中的另一个字段时,您不能引用您创建的字段,因

请参阅,以了解此功能无法工作的原因。基本上,在初始化该类中的另一个字段时,您不能引用您创建的字段,因为编译器可以选择在首次初始化该类时以不同的顺序运行它们

另外,现在Tile_管理器是空的,所以即使编译了它,当它运行时也会得到一个NullReferenceException。 为了解决这个问题,您可能应该为您的类添加一个构造函数,在该类中初始化Tile_Manager,然后在下面的行中初始化TL,请参阅,以了解为什么这样做不起作用。基本上,在初始化该类中的另一个字段时,您不能引用您创建的字段,因为编译器可以选择在首次初始化该类时以不同的顺序运行它们

另外,现在Tile_管理器是空的,所以即使编译了它,当它运行时也会得到一个NullReferenceException。
要解决这个问题,您可能应该为类添加一个构造函数,在其中初始化Tile_Manager,然后在下面的行initialize TL

也许,您可以尝试将第二行与第三行交换…

也许,您可以尝试将第二行与第三行交换…

这就是它所说的意思。您无法访问
Tile\u Manager
,因为它是一个实例字段,您没有实例。您可能应该在构造函数中初始化
TL
。您无法访问
Tile\u Manager
,因为它是一个实例字段,您没有实例。您可能应该在构造函数中初始化
TL
。请仔细阅读。第二行在一个脚本中,第三行在另一个脚本中。如何交换它们?公共静态列表TilesL=新列表()//抱歉。这次我仔细阅读了。它是对的?使用static定义这个变量,并在另一个脚本中访问它。仔细阅读。第二行在一个脚本中,第三行在另一个脚本中。如何交换它们?公共静态列表TilesL=新列表()//抱歉。这次我仔细阅读了。它是对的?使用static定义这个变量,并在另一个脚本中访问它。
//Excerpt from the script where i get the component

 public GameObject Tile_Manager;

 List<GameObject> TL = Tile_Manager.GetComponent<TM>().TilesL;

// it's the Tile_Manager bit that's underlined in red if that's any help

//How i defined the list in my other script  (TM)

public List<GameObject> TilesL = new List<GameObject>();