Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Passer des classes par valeur et pas par reference! [ Archives / Au secours ] (tarkil)

vendredi 23 janvier 2004 à 01:09:15 | Passer des classes par valeur et pas par reference!

tarkil

Bonjour,

Je voudrais recopier les données d'une instance de classe (notons la "1") dans une autre instance (notons la "2").
J'utilise Instance2 = Instance1;
Cependant, par défaut, C# utilise le passage par référence entre classes! Du coup, si 1 est modifié, alors 2 l'est aussi, ce que je ne veux pas!

Quelqu'un a t'il une solution SVP ?
Merci.

Tarkil...

vendredi 23 janvier 2004 à 05:43:21 | Re : Passer des classes par valeur et pas par reference!

vieuxLion

Bonjour,

pour les variables ValueType (int, double, struct,...) nous avons le choix de passer par valeur (par défaut) ou bien par référence (modificateur ref)
pour les variavles ReferenceType (classes) SEUL le passage par référence est prévu !

Un contournement est possible
munir la classe à dupliquer d'une méthode publique Clone
qui en interne invoquera MemberwiseClone (protégée)
Attention tout de même car cette dernière méthode fait une "shallow copie" .
Elle va dupliquer les champs ValueTypes mais duplique uniquement les références sur les champs ReferenceType
Il faut alors traiter ceux ci récursivement.

vendredi 23 janvier 2004 à 05:44:18 | Re : Passer des classes par valeur et pas par reference!

vieuxLion

bien sûr,

il faut passer ensuite la référence sur le Clone



Cette discussion est classé dans : valeur, instance, passer, classes, reference


Répondre à ce message

Sujets en rapport avec ce message

Passer une variable d'une Forme à une autre [ par bikini42 ] Bonjour, J'ai laissé un message hier concernant un besoin pour déclencher un enregistrement lors de l'appui sur la touche Espace.J'ai finalement chang Objet en valeur et non en ref [ par pc152 ] Bonjour,Ce matin je me suis posé un question :Les variable de valeur sont passer en valeur a une methode , elle peuvent passer en reférence avec le mo la reference d'objet n'est pas définie a une instance d'un objet [ par thmatew ] Salut a tous,je vous écrit car j'ai un petit soucis avec une dll écrite en C qui me donne bcp de fil a retordrej'ai plusieurs fonctions dans une dll, Serialization ou Parsing ? [ par Flamandier ] Bonjour,J'ai vu beaucoup d'exemples sur la serialization / deserialization d'objets instance de classes Serializable.Mais ces exemples restent simples Systray + 2e instance [ par ricklekebekoi ] Voila, c'est une question posée par quelqu'un d'autre a la fin d'un autre topic, qui m'intéresse ... et je doute que les topics "réponse accepté" dont Plusieurs classes dans un WebService [ par Tuizi ] Bonjour,Voila je développe un WebService et j'aimerai qu'il contienne plusieurs classes, ainsi du coté client ont pourra avoir:MonService.service1 ser Retourner une valeur lors de la fermeture d'une form [ par Noursounet ] Bonjour à tous! Voila j'ai 2 problèmes:   1- Je suis en train de développer une dll qui fourni des messagebox un peu plus jolies que celles de base. T Validation NumericUpDown [ par babe59 ] Bonjour,J'aimerai alerter l'utilisateur lorsqu'il effectue une mauvaise saisie dans un numericUpDown (valeur pas dans les min/max ou saisie du style " Renvoyer une valeur à partir d'un formulaire [ par gregoire2008 ] Bonjour, j'ai un probleme entre deux formulaire je voudrais que quand je ferme le second, le premier récupere une valeur modifier dans le second. J'ai Valeur dans un combobox [ par nixounet ] Bonjour,J'ai un ComboBox et j'aimerais que par exemple, le nom qui est affiché corresponde à un numéro. Puis, j'aimerais après sélection récupérer ce


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,374 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.