begin process at 2008 09 06 04:43:03
1 237 644 membres
42 nouveaux aujourd'hui
14 313 membres club

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

  • 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

Pub



Appels d'offres

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

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

Boutique

Boutique de goodies CodeS-SourceS