[VB.NET]Comment s'opère la copie profonde d'objet?
Bonjour à tous,
Je me pose qqes questions de base sur les pointeurs sous jacents au fonctionnement des copies et transferts d'objets.
1) Lorsque l'on fait
Code:
1 2 3
| Dim mavar as new Object
dim mavar2 as new Object
mavar = mavar2 |
Le premier objet et le deuxième sont devenus le même, ce sont les références que l'on a copié et non l'objet directement?! Tout modification de mavar modifiera également mavar2 et inversément?!
2) Lorsque l'on passe un objet en paramètre avec le mot clé byval, il y a copie de l'objet?! Si cet objet comprend lui même un objet, qu'advient-il de cet objet? Il est copié également, ou c'est juste une référence qui pointe sur le même objet que celui passé en paramètre?
3) (Relatif à la question précédente)Lors d'un appel du constructeur de copie, si la classe comprend un objet, dois-je manuellement faire une copie de cet objet dans le constructeur? Si oui, même dans le cas ou mon objet passé au constructeur de copie est passé ByVal?
4) Est-ce que
Code:
1 2 3
| Dim mavar as New Object
Dim mavar2 as Object
dim mavar3 as Objetct = Nothing |
Sont toutes les 3 des références ou le premier est un objet?
Merci d'avance :)
Nicolas