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 !

EXEMPLE DE CLONAGE D'UNE CLASSE DÉRIVÉE DE TREENODE


Information sur la source



Description

Suite à une question dans le forum voici un petit exemple de code qui derive la methode Clone d'un TreeNode pour cloner les proprietes supplementaires...
 

Conclusion

Les sources du Zip sont en C# 2 mais le code peut tout de meme etre copier en C# 1 / 1.1
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de benpolice le 07/02/2008 15:25:09

dans votre code vous faites un
public override object Clone()
        {
            MyTreeNode node = (MyTreeNode)base.Clone();
            node.m_MaPropriete = this.m_MaPropriete;
            return node;
        }

j'ai réutilisé cette technique en prenant comme classe mère la classe A, et puis je définis une classe B qui hérite de A. Je me retrouve dans la même situation que vous, c'est à dire que ma classe A = TreeNode, et ma classe B = MyTreeNode.

Je travaille avec C#, pas c#2, et la ligne
MyTreeNode node = (MyTreeNode)base.Clone(); est incorrecte, car, le base.Clone() retourne une instance de la classe TreeNode, et ne peut être transtypée en objet de la classe MyTreeNode, cela constitue une erreur.

Ce qui est logique, car le base.Clone() retourne effectivement un objet de type Treenode, il est impossible de le considérer ensuite comme un objet de type MyTreeNode. L'inverse est par contre possible, car un MyTreeNode est un TreeNode, mais un TreeNode n'est pas un MyTreeNode.

on obtient à l'exécution une erreur du type "invalid cast".
Comment expliquez vous cela?

Extreme Programmer. (benpolice@hotmail.com)

signaler à un administrateur
Commentaire de Crazyht le 07/02/2008 17:31:37 administrateur CS

Alors la comme ca tres franchement je vois pas, personnelemnt je passes plus facilement par une serialisation Binaire puis une deserialisation pour faire des clones.

Votre explication semble plus que logique en effet, si je trouve 2 minutes à l'occasion, je regarderais...

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Overwrite de la méthode Clone() [ par Globinours ] Voil&#224; mon probl&#232;me est simple je veux cloner des TreeNode mais ensuite le cast&#233; dans un type d&#233;rivant de TreeNode qui contient seu bordel d'héritage [ par reyman ] Rien de mieux qu'un exemple pour se faire comprendre :namespace A{ public class a1 { a2 objet; // ma propriété a1() Héritage et compilation [ par angeltears ] Bonjour, Je viens de me mettre au c# depuis peu..et là je suis occupé à tester l'héritage. Alors voilà, pour faire simple, je me demande comment c Héritage de class entre Forms [ par coucoual ] Bonjour a tous ! Voila j'ai juste un petit soucis dans mon héritage de class entre deux forms. Voila ce que ca me fait : http://www.casimages.com/im Problème d'héritage et de type de retour [ par LTourist ] Plop,Alors j'expose rapidement mon problème et le plus simplement possible :)public abstract class A{public C plop();}public class B:A{public override héritage de classe [ par brico07 ] Bonjour,j'implémente dans mon projet une classe et je veux qu'elle hérite de deux Classes (class Rectangle et class Eventmouse), mais comment faire? j Héritage [ par medbabs ] Bonjour J'ai une méthode qui est déclarée protected dans une classe, mais le pb c'est quand je cree une instance de cette  classe dans le fichier <f XML Sérialisation + héritage + dictionary [ par sidommou ] Salut,J'ai besoin d'un peu d'aide pour la sérialisation XML. J'ai une classe école qui contient un objet dictionary de personne. une personne peut êtr Conversion object vers class [ par Sillymind ] Bonjour,Je débute en C# alors SVP soyez indulgeant.J'aimerai savoir s'il est possible de créer une variable de classe qui pourrait pointer sur n'impor Sauvegarde en memoire d'un Bitmap [ par moimadmax ] Je travail sur un projet qui fait une trace (en marquant un point toute les 15s) sur un plan en utilisant la position GPS. Je voudrai aussi pouvoir vi


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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,468 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é.