我在构造函数中创建了一个计时器,并希望使计时器成为构造类的成员。由于计时器没有被任何其他类成员引用,因此它被编译为构造函数的本地变量,因此被垃圾收集和杀死。
防止这种情况发生的一种方法是进行虚拟参考,例如
type MyClass() as o =
let timer = new Timer((fun _ -> o.Tick()), null, 0, 1000)
member private o.DummyRef = timer
member o.Tick() = printfn "Tick!"
有没有更简洁的强制timer
成为会员的方法?