【发布时间】:2021-11-05 15:21:44
【问题描述】:
我正在尝试使用 Unity3D 和 .Net 控制台应用程序作为服务器制作多人游戏。
现在我创建了一个 mainGame 类,它继承了 ServerTime 类,它也应该在创建 maingame 类时初始化(因此它在 maingame 的构造函数中)
但问题是,它会在 ServerTime 的构造函数上引发堆栈溢出。
public class Program
{
public static void Main()
{
new mainGame("JustAName");
}
public class mainGame
{
public ServerTime serverTime = null;
public mainGame(string a_Roomnme)
{
serverTime = new ServerTime(null);
}
}
public class ServerTime : mainGame
{
public ServerTime(string roomName): base(roomName)
{
//Do something
}
}
}
因为它只是简单地将字符串传递给 ServerTime,所以我看不出它会在哪里导致这样的异常。
提前谢谢你
【问题讨论】:
-
mainGame初始化一个ServerTime对象,该对象调用mainGame基类,该基类创建一个ServerTime对象等等。在调用堆栈中应该很明显 -
新 mainGame -> serverTime -> new mainGame -> serverTime -> new mainGame -> serverTime -> new mainGame -> serverTime -> new mainGame -> serverTime -> new mainGame -> serverTime ->新主游戏 -> serverTime
¯\_(ツ)_/¯ -
如果你让别人给你拿杯咖啡,他们问是哪一种,你让他们给你拿杯咖啡,你期望会发生什么?你陷入了无限循环。现在,如果您每次请他们喝咖啡时都必须写下来以跟踪请求,那么您的纸张将用完。必须付出一些东西