に私は、コンストラクタ(System.Threadingから)タイマーに渡される非同期コールバック、持っている:峠非同期コールバックタイマーのコンストラクタ
private async Task HandleTimerCallback(object state)
{
if (timer == null) return;
if (asynTaskCallback != null)
{
await HandleAsyncTaskTimerCallback(state);
}
else
{
HandleSyncTimerCallback(state);
}
}
タイマー:
timer = new Timer(async o => await HandleTimerCallback(o), state, CommonConstants.InfiniteTimespan,
CommonConstants.InfiniteTimespan);
を省略する方法はありますそのo
ラムダのparam?ない、非同期の原因デリゲート
timer = new Timer(HandleTimerCallback, state, CommonConstants.InfiniteTimespan,
CommonConstants.InfiniteTimespan);
それは本当にタイマーのこの混合を行うには意味がないと非同期/待っています。 async/awaitの世界でタイマーの振る舞いをするには、ループ本体のどこかで 'await Task.Delay(someValue)'を使ってループを作り、ループ本体からあなたのメソッドを呼び出してください。 – spender