我有一个名为TestMaze
的班级。我有另一个名为DisplayHome
的类,它有一个名为gameOver()
的方法:
public void gameOver()
{
Console.Write("GAME OVER!");
Console.Write("Play Again? Y/N");
if(char.ToLower(Convert.ToChar(Console.Read())=='y')
//Main()
else
Environment.Exit(1);
}
如何调用Main方法?
PS。他们有相同的命名空间。我只需要知道如何再次调用Main方法。
答案 0 :(得分:4)
重构您的代码。将需要调用的内容移动到另一个函数中,并从both,main和gameOver中调用它。
答案 1 :(得分:4)
你应该在Main ...中有一个Play()方法,如果用户输入'y',GameOver()应该调用Play()。
答案 2 :(得分:2)
假设Main
是一个静态类方法(我想象的那样),你可以简单地使用MyClass.Main(/*relevant args*/)
- 当然要注意它将是一个新的实例,它不会共享任何非静态变量数据。
然而,一个可能更好的解决方案是将所有代码放入一个单独的类中,该类从Main()
调用/实例化 - 然后您的程序可以将布尔值传递回实际的可执行文件Main,它将用于决定是否退出或循环。
答案 3 :(得分:-2)
如果您的Main方法在TestMaze类中,请执行以下操作:
TestMaze.Main(“供应参数”)
例如
string[] args=new string[]{"New Game","1"}
TestMaze.Main(args)
通常在Program类中找到Main
所以:
Program.Main(args)