J'ai le souci suivant : j'ai fait une classe CNode qui hérite de treenode.
Et j'aimerais pouvoir faire un truc du style :
Dim MonNode as new CNode
MonNode = Treeview1.selectednode
Le compilateur me jette car il ne sait pas faire un cast de TreeNode vers
CNode.
Je le comprend, car CNode n'est plus vraiment un TreeNode même si il en
hérite...
Comment faire pour lui apprendre à faire ce cast ???
Sachant que CNode est un treenode avec juste 2 propriétés en plus.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MrChris
Ouupps, exemple en Vb... En C# ca doit donner un truc du style :
CNode MonNode = new CNode(); MonNode = treeView1.SelectedNode;
:))
MrChris
"MrChris" a écrit dans le message de news: u546$
Salut !
J'ai le souci suivant : j'ai fait une classe CNode qui hérite de treenode. Et j'aimerais pouvoir faire un truc du style :
Dim MonNode as new CNode MonNode = Treeview1.selectednode
Le compilateur me jette car il ne sait pas faire un cast de TreeNode vers CNode. Je le comprend, car CNode n'est plus vraiment un TreeNode même si il en hérite...
Comment faire pour lui apprendre à faire ce cast ??? Sachant que CNode est un treenode avec juste 2 propriétés en plus.
Y a moyen ???
Merci MrChris
Ouupps, exemple en Vb...
En C# ca doit donner un truc du style :
CNode MonNode = new CNode();
MonNode = treeView1.SelectedNode;
:))
MrChris
"MrChris" <mrchris@spam.com> a écrit dans le message de news:
u546$CwKFHA.904@tk2msftngp13.phx.gbl...
Salut !
J'ai le souci suivant : j'ai fait une classe CNode qui hérite de treenode.
Et j'aimerais pouvoir faire un truc du style :
Dim MonNode as new CNode
MonNode = Treeview1.selectednode
Le compilateur me jette car il ne sait pas faire un cast de TreeNode vers
CNode.
Je le comprend, car CNode n'est plus vraiment un TreeNode même si il en
hérite...
Comment faire pour lui apprendre à faire ce cast ???
Sachant que CNode est un treenode avec juste 2 propriétés en plus.
Ouupps, exemple en Vb... En C# ca doit donner un truc du style :
CNode MonNode = new CNode(); MonNode = treeView1.SelectedNode;
:))
MrChris
"MrChris" a écrit dans le message de news: u546$
Salut !
J'ai le souci suivant : j'ai fait une classe CNode qui hérite de treenode. Et j'aimerais pouvoir faire un truc du style :
Dim MonNode as new CNode MonNode = Treeview1.selectednode
Le compilateur me jette car il ne sait pas faire un cast de TreeNode vers CNode. Je le comprend, car CNode n'est plus vraiment un TreeNode même si il en hérite...
Comment faire pour lui apprendre à faire ce cast ??? Sachant que CNode est un treenode avec juste 2 propriétés en plus.
Y a moyen ???
Merci MrChris
MrChris
Ce qui me paraît étrange, c'est que dans l'autre sens ca fonctionne :
CNode MonNode = new CNode(); treeView1.SelectedNode = MonNode;
Etrange...
@+MrChris
Ce qui me paraît étrange, c'est que dans l'autre sens ca fonctionne :
CNode MonNode = new CNode();
treeView1.SelectedNode = MonNode;
Ce qui me paraît étrange, c'est que dans l'autre sens ca fonctionne :
CNode MonNode = new CNode(); treeView1.SelectedNode = MonNode;
Etrange...
@+MrChris
Boris Sargos
MrChris a écrit :
Ce qui me paraît étrange, c'est que dans l'autre sens ca fonctionne :
CNode MonNode = new CNode(); treeView1.SelectedNode = MonNode;
Etrange...
@+MrChris
Salut MrChris,
c'est normal que cela fonctionne, MonNode est avant tout un TreeNode. A l'inverse, SelectedNode est de type TreeNode, qui ne peut être converti en CNode par le compilateur, car il ne sait pas comment faire ! Donc, il te faut écrire toit-même ton operator de cast.
A+
MrChris a écrit :
Ce qui me paraît étrange, c'est que dans l'autre sens ca fonctionne :
CNode MonNode = new CNode();
treeView1.SelectedNode = MonNode;
Etrange...
@+MrChris
Salut MrChris,
c'est normal que cela fonctionne, MonNode est avant tout un TreeNode.
A l'inverse, SelectedNode est de type TreeNode, qui ne peut être
converti en CNode par le compilateur, car il ne sait pas comment faire !
Donc, il te faut écrire toit-même ton operator de cast.
Ce qui me paraît étrange, c'est que dans l'autre sens ca fonctionne :
CNode MonNode = new CNode(); treeView1.SelectedNode = MonNode;
Etrange...
@+MrChris
Salut MrChris,
c'est normal que cela fonctionne, MonNode est avant tout un TreeNode. A l'inverse, SelectedNode est de type TreeNode, qui ne peut être converti en CNode par le compilateur, car il ne sait pas comment faire ! Donc, il te faut écrire toit-même ton operator de cast.
A+
MrChris
Il me semblais bien... Comment on écris soi-même son opérateur de cast ???
Merci MrChris
Il me semblais bien...
Comment on écris soi-même son opérateur de cast ???
Il me semblais bien... Comment on écris soi-même son opérateur de cast ???
Merci MrChris
Frédéric Queudret [MS]
Bonjour,
Vous trouverez les tutoriels pour implémenter votre opérateur de conversion sur le site MSDN: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vcwlkuser-definedconversionstutorial.asp
cdlt, Frédéric.
"MrChris" wrote in message news:%23CLpl$
Il me semblais bien... Comment on écris soi-même son opérateur de cast ???
Merci MrChris
Bonjour,
Vous trouverez les tutoriels pour implémenter votre opérateur de conversion
sur le site MSDN:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vcwlkuser-definedconversionstutorial.asp
cdlt,
Frédéric.
"MrChris" <mrchris@spam.com> wrote in message
news:%23CLpl$5KFHA.3064@TK2MSFTNGP12.phx.gbl...
Il me semblais bien...
Comment on écris soi-même son opérateur de cast ???
Vous trouverez les tutoriels pour implémenter votre opérateur de conversion sur le site MSDN: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vcwlkuser-definedconversionstutorial.asp
cdlt, Frédéric.
"MrChris" wrote in message news:%23CLpl$
Il me semblais bien... Comment on écris soi-même son opérateur de cast ???
C'est fou ça ! ce n'est valable que pour C# ??? Je croyais que VB et C# etait sensiblement équivalent !
@+MrChris
Ambassadeur Kosh
perso, je déconseille cette approche. un début de commencement, ça serait d'heriter le treeview, et de fournir des accesseur qui manipulent tes treenode à toi. le cast se faisant à l'interieur du container uniquement. c'est comme collectionbase. l'idéal, à mon avi, c'est d'écrire un TreeViewBase<T>, en pompant le code sous reflector. le wrap est envisageable, mais ça n'est pas forcément simple.
bon courage
perso, je déconseille cette approche.
un début de commencement, ça serait d'heriter le treeview, et de fournir des
accesseur qui manipulent tes treenode à toi. le cast se faisant à
l'interieur du container uniquement. c'est comme collectionbase.
l'idéal, à mon avi, c'est d'écrire un TreeViewBase<T>, en pompant le code
sous reflector.
le wrap est envisageable, mais ça n'est pas forcément simple.
perso, je déconseille cette approche. un début de commencement, ça serait d'heriter le treeview, et de fournir des accesseur qui manipulent tes treenode à toi. le cast se faisant à l'interieur du container uniquement. c'est comme collectionbase. l'idéal, à mon avi, c'est d'écrire un TreeViewBase<T>, en pompant le code sous reflector. le wrap est envisageable, mais ça n'est pas forcément simple.