Вы используете ucTimeTracker
для ссылки на метод, который является именем класса. Ранее в методе вы создавали экземпляр этого класса (Dim a As New ucTimeTracker
), поэтому вам следует вместо этого вызывать a. autoWriteFileOnExit()
, если вы хотите использовать этот экземпляр. Если ucTimeTracker является элементом управления в форме, вместо этого следует использовать имя этого элемента управления.
Чтобы понять это, вам необходимо понять разницу между статическими членами и экземпляром членами. Доступ к статическому члену можно получить напрямую через класс, без необходимости создавать экземпляр класса. Чтобы использовать экземпляр экземпляра, сначала вам понадобится экземпляр класса. Вы можете посмотреть на класс Int32 в качестве примера:
' call a static method in the Int32 class, that returns an Int32 instance'
Dim asInt As Int32 = Int32.Parse("14")
' call an instance method on the Int32 instance, that will act on the data in '
' that instance, returning a string representation of its value '
Dim asString As String = asInt.ToString()
Обычно статические методы не воздействуют на данные, которые содержатся внутри класса (хотя это не всегда так), а скорее воздействуют на данные, передаваемые в методы через параметры. Методы экземпляра имеют доступ к внутренним данным этого конкретного экземпляра и могут воздействовать на эти данные (как в примере выше).