J'ai créé une classe MyNode dérivée de TreeNode de façon à obtenir un noeud qui peut contenir une référence sur un objet (un peu comme le DefaultMutableTreeNode en Java). De plus mon noeud peut ecouter l'objet qu'il contient via un systeme d'evennements.
Ce système d'evennement me pose un problème lors de la serialization :
Le problème vient quand je demande de serialiser l'objet récupéré comme ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 [Serializable] public class MyClass { // .... public event MyEvent modificationObjet // délégué de type void method(void) } public class MyNode : TreeNode { private object contentObject; public MyNode(MyClass contentObject) : base(contentObject.ToString()) { this.contentObject = contentObject; contentObject.modificationObjet += ecouteContentObject; } // ici une propriété pour récuperer l'objet public void ecouteContentObject() { // code } }
Ici, j'ai un problème lors de la serialisation! Il me dit que MyNode n'est pas serializable. Si je retire la deuxième ligne du constructeur de MyNode, ca fonctionne!! Quelqu'un peut m'aider?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 MyClass myObject = new MyClass(); MyNode node = new MyNode(myObject); serialise(node.ContentObject) // la méthode serialise sauvegarde un objet de type MyClass
Partager