Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si è tentato di fare riferimento a un membro non condiviso di una classe dall'interno di una procedura condivisa. Nell'esempio seguente viene illustrata una situazione di questo tipo:
Class Sample
Public x as Integer
Public Shared Sub SetX()
x = 10
End Sub
End Class
Nell'esempio precedente, l'istruzione x = 10 di assegnazione genera questo messaggio di errore. Ciò è dovuto al fatto che una procedura condivisa sta tentando di accedere a una variabile di istanza.
La variabile x è un membro dell'istanza perché non è dichiarata come Condivisa. Ogni istanza della classe Sample contiene la propria variabile xindividuale. Quando un'istanza imposta o modifica il valore di x, non influisce sul valore di x in qualsiasi altra istanza.
Tuttavia, la routine SetX è Shared tra tutte le istanze della classe Sample. Ciò significa che non è associato a un'istanza della classe, ma opera in modo indipendente dalle singole istanze. Poiché non ha alcuna connessione con una determinata istanza, setX non può accedere a una variabile di istanza. Deve operare solo sulle Shared variabili. Quando SetX imposta o modifica il valore di una variabile condivisa, tale nuovo valore è disponibile per tutte le istanze della classe.
ID errore: BC30369
Per correggere l'errore
Decidere se si vuole che il membro venga condiviso tra tutte le istanze della classe o sia mantenuto individuale per ogni istanza.
Se si desidera che una singola copia del membro venga condivisa tra tutte le istanze, aggiungere la
Sharedparola chiave alla dichiarazione del membro. Mantenere laSharedparola chiave nella dichiarazione della routine.Se si desidera che ogni istanza disponga di una propria copia individuale del membro, non specificare
Sharedper la dichiarazione del membro. Rimuovere laSharedparola chiave dalla dichiarazione della routine.