Transfert de variables de classe à classe
Bonjour à tous,
J'ai qlq soucis à comprendre comment transférer le contenu d'une variable de class vers une autre classe.
ci-dessous le code pour mieux comprendre, j'ai aussi ajouté des commentaires afin de mieux comprendre mon probleem :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
Public Class Front
Inherits general_cmd
'dim mylayer as string = "layer front"
' ici le programme appelant doit passer et valider la variable mylayer=layer front
End Class
Public Class Back
Inherits general_cmd
'dim mylayer as string = "layer back"
' ici le programme appelant doit passer et valider la variable mylayer=layer back
End Class
Public Class general_cmd
Public Sub generalsub()
' ici une procédure qui génére qlq chose MAIS avec mylayer qui vient soit de la class Back ou Front et dont une valeur différente
MsgBox("valeur de la vaiable : " & mylayer)
End Sub
End Class
Public Class Form1
Dim myback As New Back
Dim myfront As New Front
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub test_Click(sender As System.Object, e As System.EventArgs) Handles test.Click
' ici je veux passer par la class back et mylayer prendra la valeur = layer back
myback.generalsub()
End Sub
Private Sub call_front_Click(sender As System.Object, e As System.EventArgs) Handles call_front.Click
' ici je veux passer par la class front et mylayer prendra la valeur = layer front
myfront.generalsub()
End Sub
End Class |
Donc, dans mon programme appelant, comme vous l'avez vu, la commande :
myfront. appele l'objet pour la classe
generalsub() appele la procédure dans la classe generale_cmd
La variable "mylayer" doit être visible dans les classes (qui seront compilées seule plus tard (.dll)) (class : front, back, general_cmd et d'autres). Mais cette variable mylayer ne doit pas etre vu et accéssible par le programm appelant (ici Form1)...
J'espere etre assez clair ;)
En résuimé, comment faire pour que "mylayer" soit modifiée à chaque appel de la class front ou back et se retrouver avec la bonne valeur dans la class general_cmd ?
Merci
Patrick