重新启动方法

时间:2016-01-06 16:03:21

标签: c# methods resources

我正在制作一个C#应用程序。我有一个主要过程来验证数据库中的数据。如果我有用户输入,计时器会检查每100个滴答。在我获得用户输入后,我的主进程继续(它在开始时等待用户输入)。在验证并执行多项操作后,方法就完成了。问题是,我希望它再次开始等待下一位输入。

我想在每个可能的结束时再次调用该方法。我觉得这会创造一个资源丰富的程序(不是最糟糕的事情,但更好的没有坏习惯,而不是一些正确的?)。

示例:

bool cont = false;

public void process() 
{    
    while (cont == false) {;}

    //Various sorting criteria that all end up with cont = false; process(), the userinput has been processed.

}

timer1 tick event 
{
    if (userinput) 
        cont = true;
}

1 个答案:

答案 0 :(得分:0)

由于您没有看到如何获得用户输入,我没有实现这一点。但你问题的主要逻辑是:

class MainClass
{ 
    public static void Main()
    {
        MyRecursiveFunction();
        AfterUserInput();
    }

    public static void MyRecursiveFunction()
    {
        if (userinput)
        { return; }

        // Waits 100 ticks to check again
        Thread.Sleep(new TimeSpan(100));

        MyRecursiveFunction();
    }

    public static void AfterUserInput()
    {
        // All that you need to do after the user input
    }
}