对象引用并为其分配新类

时间:2018-07-03 22:42:43

标签: c# object unity3d nullreferenceexception

尝试传递对象引用并将其设置为新的脚本/类。 Player.cs

如何正确引用和分配

2 个答案:

答案 0 :(得分:0)

我相信这是NullPointer异常的讨厌实例之一,它可以引用多个问题。它仅提供行号,但不提供该行中哪个引用为空。 NewPlayer不为空,AchievementList为空。您需要在ShowUI方法中或更早在PanelUpdate构造函数中初始化该值。

P.S。我讨厌空引用异常的非特异性;非常令人沮丧。

答案 1 :(得分:0)

您的PlayerDetails对象中具有null属性。在调试模式下检查NewPlayer对象的属性,您将看到此内容。

即使在其上使用新的构造函数,也并不意味着将为属性提供值,除非在构造函数中为其专门指定了一个值。

您还需要显示PlayerDetails类的代码,以便为我们提供更好的主意。

也:

PlayerDetails Player = new PlayerDetails(); // Assigning a new value here means nothing
Player = NewPlayer;

您要在第1行上创建一个新的PlayerDetails对象,然后在第2行上为其分配一个不同的值。

PlayerDetails Player = NewPlayer;

很好。