Выполнить функцию до 5 минут в WPF - PullRequest
0 голосов
/ 18 апреля 2019

В форме WPF я вызываю метод doSomeFunction () в цикле while.Это будет работать до тех пор, пока x == y не будет работать правильно.

while (x != y)
{
   doSomeFunction();
}

Мне нужно добавить дополнительную функциональность, которая должна проверять это условие только до 5 минут.Через 5 минут, если x != y мне нужно вернуться.

Ответы [ 3 ]

2 голосов
/ 18 апреля 2019

Вы можете взять время EnterTime и проверить

 DateTime EnterTime = DateTime.Now;
 while (x != y && EnterTime.AddMinutes(5) >= DateTime.Now)
  {
      doSomeFunction();
   }

Если оба условия выполняются, цикл будет выполняться

1 голос
/ 18 апреля 2019

Намного чище и понятнее, Вы также можете использовать секундомер

Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
while (x != y && stopwatch.Elapsed.Minutes <=5)
{
  doSomeFunction();
 }
stopWatch.Stop();
0 голосов
/ 18 апреля 2019

Вы также можете использовать библиотеку задач и указать время ожидания.

    Task.Factory.StartNew(() =>
    {
        while (x != y)
        {
            // if actions are being performed on UI controls then please do invoke
            Console.Write("test");
        }
    }).Wait(millisecondsTimeout:30000);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...