从另一个类调用Main()

时间:2011-07-17 11:35:24

标签: c# main

我有一个名为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方法。

4 个答案:

答案 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)