webForumDet fria alternativet

Består samma värde?

.NET

6 svar · 175 visningar · startad av Josef

Medlem sedan mars 20023 561 inlägg
Frågan#1

Om jag deklarerar en boolean i en klass och sedan tilldelar den värde i en funktion. Gäller det värdet jag sätter bara i den funktionen eller i hela klassen?

T ex:

Class Exempel
     Dim bool As Boolean = True

     Public Function Exempel2()
           bool = False
     End Function

     Public Function Exempel3()
           bool = [b]???[/b]
     End Function
End Class

Är värdet True eller false?

Medlem sedan juni 20022 599 inlägg
#2

Gäller det värdet jag sätter bara i den funktionen eller i hela klassen?

Det gäller i den instansen av din klass. Vill du att det ska gälla i alla instanser av din klass så måste variabeln deklareras som Shared.

Medlem sedan mars 20023 561 inlägg
#3

Den skall bara gälla inom den klassen och inte i alla instanser.

Medlem sedan juni 20022 599 inlägg
#4

?? :q

Men att en variabel gäller på klassnivå betyder ju just att den gäller i alla instanser. Ett objekt är en instans av en klass.

Medlem sedan mars 20023 561 inlägg
#5

Jo det är jag med på men vad menar du med det här då?

niko skrev:

Det gäller i den instansen av din klass. Vill du att det ska gälla i alla instanser av din klass så måste variabeln deklareras som Shared.

Medlem sedan juni 20022 599 inlägg
#6

Jag missförstod din fråga. När du skrev "hela klassen" så trodde jag du talade om statiska medlemsvariabler.

Men för att återvända till din fråga. Eftersom bool är deklarerad utanför dina medlemsfunktioner så är den så klart gemensam för båda.

Dvs om en av funktionerna ändrar värdet så syns detta i den andra funktionen.

Medlem sedan mars 20023 561 inlägg
#7

Ok. Tack.

262 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
116 ms — ändringar (db)