begin process at 2012 02 09 11:32:51
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

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

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


 Information sur la source

Note :
Aucune note
Catégorie :Astuces Source .NET ( DotNet ) Classé sous :class, héritage, clone, dérivé, treenode Niveau :Débutant Date de création :17/05/2005 Vu / téléchargé :13 734 / 349

Auteur : Crazyht

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note


 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

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source .NET (Dotnet) BRIQUE DE LOG
Source avec Zip Source .NET (Dotnet) ACCÉS A DES PARTAGES RÉSEAUX AVEC UN LOGIN/PWD
Source avec Zip Source .NET (Dotnet) DPAPI : PROTECTION DES DONNÉES PAR UTILISATEUR OU MACHINE
Source avec Zip Source .NET (Dotnet) IPBOX : SAISIE D'ADRESSE IP
Source avec Zip Source .NET (Dotnet) FONTCOMBOBOX : COMBO DE SELECTION DE LA FONT

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) DIFFÉRENTIELLE ENTRE DEUX COLLECTION par morphey_83
Source avec Zip Source avec une capture Source .NET (Dotnet) RICHTEXTBOX POUR COLORATION SYNTAXIQUE EN TEMPS REEL par Renfield
Source avec Zip Source avec une capture Source .NET (Dotnet) TRANSFORMER UN PROGRAMME EN SERVICE par xavh44
Source avec Zip Source .NET (Dotnet) [C# ET T4] TEMPLATE DE VIEW MODEL POUR LE PATTERN MVVM par Kite37
Source .NET (Dotnet) EXEMPLE D'UTILISATION D'UN OCX SANS DECLARATION PREALABLE DA... par yohan49

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) CLONE/FORK DES FLUX DE LA CONSOLE : PERMETTRE LA REDIRECTION... par ShareVB
Source .NET (Dotnet) [ACTIVEDIRECTORY] DÉTERMINE SI L'UTILISATEUR USERNAME EST ME... par Francks11
Source avec Zip Source .NET (Dotnet) PROPRIÉTÉS D'EXTENSION AVEC C# 3.0 par mathmax
Source .NET (Dotnet) XML VERS TREENODE / TREENODE VERS XML par ip2x
Source avec Zip Source .NET (Dotnet) TEXTBOX MONÉTAIRE par GG29

Commentaires et avis

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)

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...

Commentaire de GW74372 le 27/07/2009 16:41:18

Bonjour,
j'avoue être surpris du peu de renseignement sur le sujet
Mais voici l'astuce que j'ai trouvé dans ce cas:

public override object Clone()
        {
            MyTreeNode node = new MyTreeNode();
           ((TreeNode)node)=base.Clone();
            node.m_MaPropriete = this.m_MaPropriete;
            return node;
        }

En fait, j'étais tombé sur ce probleme en VB.Net et j'ai du le résoudre de la même manière.
Si quelqu'un d'autre à une meilleur idée, je suis vivement intéresser.

 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 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 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 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 héritage, méthodes virtuelles et abstraites [ par memorial76 ] Bonjour à tous,je suis débutant en programmation, et je lis actuellement le cours de Di Scala en pdf qui est super bien fait. Seulement, il y a un pet deselectionner un treenode [ par cudenetf ] bonjour,j'ai rencontré le probleme suivant pour le treenode :quand je lance un formyulaire contenant un treeview, automatiquement le 1er treenode est Utilisation de delegate entre 2 namespace [ par philippe54250 ] Bonjour;Voici mon probléme:Dans un fichier ce trouve la gestion d'un GPS (  namespace classGPS , class GPS).Dans un second fichier ce trouve l'afficha


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales