Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pokusili jste se odkazovat na nesdíleného člena třídy ze sdílené procedury. Následující příklad ukazuje takovou situaci:
Class Sample
Public x as Integer
Public Shared Sub SetX()
x = 10
End Sub
End Class
V předchozím příkladu příkaz x = 10 přiřazení vygeneruje tuto chybovou zprávu. Důvodem je, že se sdílený postup pokouší o přístup k proměnné instance.
Proměnná x je členem instance, protože není deklarována jako Shared. Každá instance třídy Sample obsahuje svou vlastní individuální proměnnou x. Když jedna instance nastaví nebo změní hodnotu x, nemá vliv na hodnotu x v žádné jiné instanci.
SetX Postup je Shared však mezi všemi instancemi třídy Sample. To znamená, že není přidružená k žádné instanci třídy, ale spíše funguje nezávisle na jednotlivých instancích. Vzhledem k tomu, že nemá žádné spojení s konkrétní instancí, setX nemá přístup k proměnné instance. Musí pracovat pouze s Shared proměnnými. Když SetX nastaví nebo změní hodnotu sdílené proměnné, tato nová hodnota je k dispozici pro všechny instance třídy.
ID chyby: BC30369
Oprava této chyby
Rozhodněte se, jestli chcete člena sdílet mezi všemi instancemi třídy, nebo jestli chcete člena uchovávat jednotlivě pro každou instanci.
Pokud chcete, aby se jedna kopie člena sdílela mezi všemi instancemi, přidejte
Sharedklíčové slovo do deklarace člena.SharedZachovejte klíčové slovo v deklaraci procedury.Pokud chcete, aby každá instance měla vlastní individuální kopii člena, nezadávejte
Sharedpro deklaraci člena.SharedOdeberte klíčové slovo z deklarace procedury.