Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы попытались ссылаться на не общий член класса из общей процедуры. В следующем примере показана такая ситуация:
Class Sample
Public x as Integer
Public Shared Sub SetX()
x = 10
End Sub
End Class
В предыдущем примере инструкция x = 10 назначения создает это сообщение об ошибке. Это связано с тем, что общая процедура пытается получить доступ к переменной экземпляра.
Переменная x является членом экземпляра, так как она не объявлена как shared. Каждый экземпляр класса Sample содержит собственную отдельную переменную x. Если один экземпляр задает или изменяет значение x, оно не влияет на значение x в любом другом экземпляре.
Однако процедура SetX является Shared одним из всех экземпляров класса Sample. Это означает, что он не связан с одним экземпляром класса, а работает независимо от отдельных экземпляров. Так как он не имеет подключения к конкретному экземпляру, setX не может получить доступ к переменной экземпляра. Он должен работать только с Shared переменными. При SetX установке или изменении значения общей переменной новое значение доступно для всех экземпляров класса.
Идентификатор ошибки: BC30369
Исправление этой ошибки
Определите, должен ли член быть общим для всех экземпляров класса или храниться отдельно для каждого экземпляра.
Если требуется предоставить общий доступ к одной копии элемента всем экземплярам, добавьте
Sharedключевое слово в объявление члена. Сохраните ключевое слово в объявленииSharedпроцедуры.Если каждый экземпляр должен иметь собственную отдельную копию элемента, не указывайте
Sharedдля объявления члена. Удалите ключевоеSharedслово из объявления процедуры.