gpt4 book ai didi

vb.net - 没有可访问的 'New' 接受这个数量的参数 - 错误

转载 作者:行者123 更新时间:2023-12-02 07:34:26 24 4
gpt4 key购买 nike

我有这段代码

Dim _timer As System.Threading.Timer

Public Sub RunTimer2()
_timer = New System.Threading.Timer(onSave(),
Nothing,
TimeSpan.FromSeconds(5),
TimeSpan.FromSeconds(5))
End Sub

并且我收到错误Overload resolution failed because no accessible 'New' accepts this number of arguments. 对于我尝试创建计时器的行。尽管我可以在 msdn 和库中的文档中看到它具有我使用的那 4 种可能的类型参数。我不明白...

最佳答案

您没有将委托(delegate)传递给 onSave 函数。您正在调用 onSave 函数并将其返回值传递给 Timer 构造函数。您需要创建函数的委托(delegate)并将其传递,如下所示:

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

或者,如果您这样做,VB 将自动为您确定委托(delegate)类型:

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

关于vb.net - 没有可访问的 'New' 接受这个数量的参数 - 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18252683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com