F# 使用F在闭包中停止计时器#
我想问一个简单的问题,如何停止这个计时器。F# 使用F在闭包中停止计时器#,f#,timer,closures,F#,Timer,Closures,我想问一个简单的问题,如何停止这个计时器。 某人的代码如下: let mutable timer = new DispatcherTimer() timer.Interval - new TimeSpan(0,0,0,0,100) timer.Start() 我想添加一个函数,每当我点击按钮时,定时器就会停止 所以我写了一个这样的代码(我真的没有线索): 但是它说它不能被闭包捕获 知道怎么做吗? 很抱歉我不是一个有经验的函数式程序员。我只想修改一个代码。是否有理由使计
某人的代码如下:
let mutable timer = new DispatcherTimer()
timer.Interval - new TimeSpan(0,0,0,0,100)
timer.Start()
我想添加一个函数,每当我点击按钮时,定时器就会停止所以我写了一个这样的代码(我真的没有线索):
但是它说它不能被闭包捕获
知道怎么做吗?
很抱歉我不是一个有经验的函数式程序员。我只想修改一个代码。是否有理由使计时器可变?如果您从未给它赋值,那么您可以直接删除
mutable
,它应该可以工作
否则,您将需要使用引用单元格而不是普通的可变绑定:
let timer = ref (new DispatcherTimer())
(!timer).Interval <- new TimeSpan(0,0,0,0,100)
(!timer).Start()
btnStop.Click
|> Event.add(fun args -> (!timer).Stop())
let timer=ref(新分派器())
(!timer).Interval Event.add(趣味参数->(!timer).Stop())
是否有理由使计时器可变?如果您从未给它赋值,那么您可以直接删除mutable
,它应该可以工作
否则,您将需要使用引用单元格而不是普通的可变绑定:
let timer = ref (new DispatcherTimer())
(!timer).Interval <- new TimeSpan(0,0,0,0,100)
(!timer).Start()
btnStop.Click
|> Event.add(fun args -> (!timer).Stop())
let timer=ref(新分派器())
(!timer).Interval Event.add(趣味参数->(!timer).Stop())
提示:mutable
关键字不需要用于您的使用,请删除它:)提示:mutable
关键字不需要用于您的使用,请删除它:)