Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Passage de variable entre classes

11 réponses
Avatar
deb
Salut,

Est-ce que quelqu'un saurait comment r=E9cup=E9rer dans une classe une
variable d'une autre classe ? Je ne trouve pas la syntaxe...

Merci beaucoup !

Deb

10 réponses

1 2
Avatar
Christophe QUEVAL
Bonjour,

En la spécifiant Public (passage d'une classe d'un assembly à un autre),
Friend (pour la voir dans le même assembly) ou en la passant en argument de
vos méthodes.

Christophe
"deb" a écrit dans le message de news:

Salut,

Est-ce que quelqu'un saurait comment récupérer dans une classe une
variable d'une autre classe ? Je ne trouve pas la syntaxe...

Merci beaucoup !

Deb
Avatar
Kawaman
Ta question n'est pas tres pecise...
Si ta variable est en acces publique, pas de probleme
classe1.var=autreclasse.varpub
Sinon tu peut faire une propriete. C'est tout de meme plus propre que de
mettre tout en public.
tu definit une variable privée, ensuite tu fait une property readonly et
tu fait un return de ta var privée dans le get. Comme ca tu ne rique pas
de modifier acidentellement ta variable (et bon c'est aussi un peu le
principe de l'encapsulation des données que tout lke monde fasse pas
n'importe quoi dans n'importe quelle classe)

deb a écrit :
Salut,

Est-ce que quelqu'un saurait comment récupérer dans une classe une
variable d'une autre classe ? Je ne trouve pas la syntaxe...

Merci beaucoup !

Deb



Avatar
Christophe QUEVAL
Exact, j'ai été un peu rapide en conseillant de passer la variable publique,
ce qui ne se fait pas du tout en effet ! L'usage de propriétés est nettement
préférable et permet en plus d'appliquer des traitement avant de retourner
une valeur ou de la mettre à jour.

Christophe
"Kawaman" a écrit dans le message de news:
4354ba09$0$4475$
Ta question n'est pas tres pecise...
Si ta variable est en acces publique, pas de probleme
classe1.var=autreclasse.varpub
Sinon tu peut faire une propriete. C'est tout de meme plus propre que de
mettre tout en public.
tu definit une variable privée, ensuite tu fait une property readonly et
tu fait un return de ta var privée dans le get. Comme ca tu ne rique pas
de modifier acidentellement ta variable (et bon c'est aussi un peu le
principe de l'encapsulation des données que tout lke monde fasse pas
n'importe quoi dans n'importe quelle classe)

deb a écrit :
Salut,

Est-ce que quelqu'un saurait comment récupérer dans une classe une
variable d'une autre classe ? Je ne trouve pas la syntaxe...

Merci beaucoup !

Deb





Avatar
deb
Ok ! Un grand merci à vous deux, je vais regarder comment on fait une
property readonly !

Deb
Avatar
deb
Dites, j'ai fait un test en déclarant ma variable publique (juste pour
voir) et même ca, ca ne marche pas. Je la déclare public dans ma
première classe et dans la seconde j'écris ca:

Dim pCarte as New Classe1
Public var as string
var=Classe1.variable

Ca me retourne var comme étant vide, alors qu'il y a vraiment quelque
chose dans variable...

Une idée ?
Avatar
deb
Dites, j'ai fait un test en déclarant ma variable publique (juste pour
voir) et même ca, ca ne marche pas. Je la déclare public dans ma
première classe et dans la seconde j'écris ca:

Dim pCarte as New Classe1
Public var as string
var=Classe1.variable

Ca me retourne var comme étant vide, alors qu'il y a vraiment quelque
chose dans variable...

Une idée ?
Avatar
deb
Dites, j'ai fait un test en déclarant ma variable publique (juste pour
voir) et même ca, ca ne marche pas. Je la déclare public dans ma
première classe et dans la seconde j'écris ca:

Dim pCarte as New Classe1
Public var as string
var=Classe1.variable

Ca me retourne var comme étant vide, alors qu'il y a vraiment quelque
chose dans variable...

Une idée ?
Avatar
Kawaman
ben deja Classe1 c'est un type, pas une instance
tu devrais utiliser pCarte.variable a moins que ta variable soit shared
(statique dans les autres languages)

deb a écrit :
Dites, j'ai fait un test en déclarant ma variable publique (juste pour
voir) et même ca, ca ne marche pas. Je la déclare public dans ma
première classe et dans la seconde j'écris ca:

Dim pCarte as New Classe1
Public var as string
var=Classe1.variable

Ca me retourne var comme étant vide, alors qu'il y a vraiment quelque
chose dans variable...

Une idée ?



Avatar
deb
Oui, effectivement. J'ai changé ca mais ca ne marche toujours pas. Var
reste vide...
Avatar
Kawaman
faudrait voir le morceau de code
deja si tu fais ca dans une methode, tu devrais declarer
dim var as String et non public var as string
Ensuite si tu fais pas ta comparaison dans le memebloc, il se peut que
ta variable soit masquée par une autre du meme nom

fais un truc du genre
MsgBox("Classe1.variable : " & Classe1.variable)
ton affectation
MsgBox("Var locale : " & var)


deb a écrit :
Oui, effectivement. J'ai changé ca mais ca ne marche toujours pas. Var
reste vide...



1 2