Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Você tentou se referir a um membro não compartilhado de uma classe de dentro de um procedimento compartilhado. O exemplo a seguir demonstra tal situação:
Class Sample
Public x as Integer
Public Shared Sub SetX()
x = 10
End Sub
End Class
No exemplo anterior, a instrução x = 10 de atribuição gera essa mensagem de erro. Isso ocorre porque um procedimento compartilhado está tentando acessar uma variável de instância.
A variável x é um membro da instância porque não é declarada como compartilhada. Cada instância de classe Sample contém sua própria variável xindividual. Quando uma instância define ou altera o valor de x, isso não afeta o valor de x em nenhuma outra instância.
No entanto, o procedimento SetX está Shared entre todas as instâncias de classe Sample. Isso significa que ele não está associado a nenhuma instância da classe, mas opera independentemente de instâncias individuais. Como ele não tem conexão com uma instância específica, setX não pode acessar uma variável de instância. Deve operar apenas em Shared variáveis. Quando SetX define ou altera o valor de uma variável compartilhada, esse novo valor está disponível para todas as instâncias da classe.
ID de erro: BC30369
Para corrigir este erro
Decida se deseja que o membro seja compartilhado entre todas as instâncias da classe ou mantido individualmente para cada instância.
Se desejar que uma única cópia do membro seja compartilhada entre todas as instâncias, adicione a
Sharedpalavra-chave à declaração de membro. Mantenha aSharedpalavra-chave na declaração de procedimento.Se você quiser que cada instância tenha sua própria cópia individual do membro, não especifique
Sharedpara a declaração de membro. Remova aSharedpalavra-chave da declaração de procedimento.