Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Ha intentado hacer referencia a un miembro no compartido de una clase desde un procedimiento compartido. En el ejemplo siguiente se muestra esta situación:
Class Sample
Public x as Integer
Public Shared Sub SetX()
x = 10
End Sub
End Class
En el ejemplo anterior, la instrucción x = 10 de asignación genera este mensaje de error. Esto se debe a que un procedimiento compartido intenta acceder a una variable de instancia.
La variable x es un miembro de instancia porque no se declara como Compartido. Cada instancia de clase Sample contiene su propia variable xindividual . Cuando una instancia establece o cambia el valor de x, no afecta al valor de x en ninguna otra instancia.
Sin embargo, el procedimiento SetX está Shared entre todas las instancias de la clase Sample. Esto significa que no está asociado a ninguna instancia de la clase, sino que funciona independientemente de instancias individuales. Dado que no tiene conexión con una instancia determinada, setX no puede acceder a una variable de instancia. Solo debe funcionar en Shared variables. Cuando SetX establece o cambia el valor de una variable compartida, ese nuevo valor está disponible para todas las instancias de la clase .
Identificador de error: BC30369
Para corregir este error
Decida si desea que el miembro se comparta entre todas las instancias de la clase o se mantenga individual para cada instancia.
Si desea que una sola copia del miembro se comparta entre todas las instancias, agregue la
Sharedpalabra clave a la declaración de miembro. Conserve laSharedpalabra clave en la declaración de procedimiento.Si desea que cada instancia tenga su propia copia individual del miembro, no especifique
Sharedpara la declaración de miembro. Quite laSharedpalabra clave de la declaración de procedimiento.