5秒过后,我想退出下面的计时器。

我尝试了workoutTimer.Stop();,但收到消息“ workoutTimer”在上下文中不存在。

任何反馈,不胜感激。

var i = 0;
var workoutTimer = new Timer((o) => {
    Device.BeginInvokeOnMainThread(() => {
        i = i+1;
        if (if i == 5){
            Console.WriteLine('Exit Timer here');
            //workoutTimer.Stop();
        }
    });
}, null, 1000, 1000);

最佳答案

您是否尝试过调用Dispose()并创建一个私有Timer变量,如下所示:

Timer workoutTimer;
void TimerMethod () {
    var i = 0;
    workoutTimer = new Timer (o =>  {Device.BeginInvokeOnMainThread (() =>  {
        i = i + 1;
        if (i == 5) {
            Console.WriteLine ("Exit Timer here");
            workoutTimer.Dispose ();
        }
        Console.WriteLine ("tick");
    });
    }, null, 1000, 1000);
}

08-17 14:24