Sys*_*ect 2 vb.net visual-studio-2010
我有这段代码
Dim _timer As System.Threading.Timer
Public Sub RunTimer2()
_timer = New System.Threading.Timer(onSave(),
Nothing,
TimeSpan.FromSeconds(5),
TimeSpan.FromSeconds(5))
End Sub
Run Code Online (Sandbox Code Playgroud)
我得到错误重载解析失败,因为没有可访问的'新'接受这个数量的参数.对于我试图创建计时器的行.虽然我可以在msdn和库中的文档中看到它具有我使用的4种可能的类型参数.我不明白......
您没有将委托传递给该onSave函数.您正在调用该onSave函数并将其返回值传递给Timer构造函数.您需要创建该函数的委托并传递它,如下所示:
Dim _timer As System.Threading.Timer
Public Sub RunTimer2()
_timer = New System.Threading.Timer(New TimerCallback(AddressOf onSave),
Nothing,
TimeSpan.FromSeconds(5),
TimeSpan.FromSeconds(5))
End Sub
Run Code Online (Sandbox Code Playgroud)
或者,如果您这样做,VB将自动为您指出委托类型:
Dim _timer As System.Threading.Timer
Public Sub RunTimer2()
_timer = New System.Threading.Timer(AddressOf onSave,
Nothing,
TimeSpan.FromSeconds(5),
TimeSpan.FromSeconds(5))
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5063 次 |
| 最近记录: |