将代码从Private Sub复制到Shared Sub

时间:2014-12-15 15:30:39

标签: vb.net shared

我正在尝试在VB应用程序中每小时运行一堆代码。代码在它自己的Sub中工作,但是当我将它添加到这个“TopOfTheHour”Shared Sub时,我得到错误“无法在没有类的显式实例的情况下从共享方法或共享成员初始化程序中引用类的实例成员“

我在loadlbl.Visible中留下了一个不起作用的例子,它只是我的主Form(Form1)上的标签控件。将刷新时间写入控制台可以正常工作,但是loadlbl.Visible = True则不行。

    Private Shared Sub OnTimedEvent(source As Object, e As System.Timers.ElapsedEventArgs)
    Dim aTimer As System.Timers.Timer = CType(source, System.Timers.Timer)
    aTimer.Stop()
    Console.WriteLine("Server Status Refreshed at " & DateTime.Now)
    loadlbl.Visible = True
    'Far more code is here, much of it with the same error.
    aTimer.Interval = MillisecondsToNextTopOfTheHour()
    aTimer.Start()
End Sub

表单1的所有代码(包括我要添加到此Shared Sub的内容)都是PasteBin上的here。 (VB语法高亮显示打开,因此代码更容易阅读)

谢谢!

1 个答案:

答案 0 :(得分:0)

你真的需要这种方法来分享吗?删除共享,然后重试。

共享意味着方法不是实例方法,它无法访问任何局部变量。