2017-02-21 14 views
0

я намереваюсь перезапустив метод асинхронного непрерывно при заданном состоянии, но могу показаться, чтобы получить логическое право:Rerun асинхронного метод по завершению

public void DoWork(Action<bool>callback){ 
     callback(true); 
    } 

    public void Test(){ 
     DoWork((Result) => Console.WriteLine("HERE")); 
    } 

Это работает только один раз.

В идеале, когда метод DoWork завершен, я хочу, чтобы он повторялся, пока не нажмете кнопку, которая изменяет состояние логического свойства на true. Я новичок в C#, так как это обычно делается.

ответ

0

Попробуйте это:

async void TopLevelMethod() 
{ 
    while (!Console.Read().Equals('q')) 
    { 
     await DoWork(); 
    } 
} 

async Task DoWork() 
{ 
    await Task.Delay(100); 
}