vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Gültigkeitsbereiche  
Autor: landx
Datum: 09.01.03 00:44

Machen wir es ganz simpel.
Deine kinderlose Bekannte geht ins Kloster und wird Nonne.
Ein wenig später möchtest Du Deine Bekannte dort besuchen.
Beim ersten Besuch fragst Du sie: wie geht es Deiner Tochter ?
Sie macht daraufhin große Augen, was bleibt ihr anderes übrig?

Eine als Shared deklarierte Methode drückt aus, dass Sie instanzunabhängig ist.
Sie ist eine sog. Klassenmethode, an der Klasse definiert und nicht an der Instanz.
Was heißt das ?
Ein Klassenmethode darf nicht auf die Member-Variablen eigener Klasse zugreifen, weil sie ja instanzunabhängig ist.
Du selbst hast mit dem Schlüsselwort shared beschlossen, das sie nicht auf die Member-Variablen eigener Klasse zugreifen soll.
Du hast in Deiner Klasse eine Member-Variable InstClsSubs angelegt und möchtest nun von einer als shared deklarierten Methode auf diese Variable zugreifen.
Es liegt ein Konzeptwiederspruch vor.
Kurz: Du möchtest unbedingt, dass Deine Bekannte, die Nonne, schwanger wird und an dem Punkt gerät sie in ein Konflikt.

Public Class ClsMain 
Public InstClsSubs As New ProjName.ClsSubs() 
 
Shared Sub main() 
 
InstClsSubs.SubArrayFill() 
 
End Sub 
 
End Class
Was Du zu tun hast ?
Aus dem Kloster austreten und das gebären von Kindern erlauben (auf shared verzichten) oder aber nicht versuchen, auf eine Member-Variable InstClsSubs zuzugreifen.
Ich habe nun mit der Fettschrift die sich wiedersprechenden Stellen markiert.

Ich gebe zu, die Fehlermeldung klingt etwas "geschwollen":
Auf ein Instanzenmember einer Klasse kann nicht ohne explizite Instanz einer Klasse von einer/m freigegebenen Methode/Member aus verwiesen werden .
Eine "freigegebene Methode" ist hier eine Shared-Methode. Sie ist frei vom Zugriff auf die Instanzenmember .
Blöd formuliert, es ist quasi ein spruch für Insider.
Sinngemäß: eine Nonnen ist von der Pflicht "befreit", Kinder zu kriegen.
Da kann ich nur sagen: Amen Microsoft.

pearland.de

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Gültigkeitsbereiche 843Pite08.01.03 22:22
Re: Gültigkeitsbereiche 604landx09.01.03 00:44
Re: Gültigkeitsbereiche 566ModeratorDaveS09.01.03 09:02
Re: Gültigkeitsbereiche 573landx09.01.03 10:43
Re: Gültigkeitsbereiche 613ModeratorDaveS09.01.03 11:08
Re: Gültigkeitsbereiche 587Pite09.01.03 12:35

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel