Je voulais demander comment on peut serialiser un fichier .dwt en c#, ce fichier contiendra les objets d'une classe Projets qui a pour attributs, des images, des strings ...
Je voulais demander comment on peut serialiser un fichier .dwt en c#, ce fichier contiendra les objets d'une classe Projets qui a pour attributs, des images, des strings ...
Bonjour peut être aussi ? C'est un forum mais la politesse existe aussi sur les forums.
Cet aparté fait, pourquoi tu veux sérialiser un fichier ? Si tu as un fichier tu as déjà ton support, donc je ne vois pas trop l'intérêt de la sérialisation après ça. Et puis on sérialise des objets en général, pas un fichier
bonjouR MONSIEUR!!!!
A propos, je n'ai pas encore sérialiser le fichier mais, la sérialisation se ferra dans un le format ".dwt", mais je ne vois pas comment le faire.
Bonjour,
tu veux serialiser un objet comme PHP ?
Si oui, il faut faire à la main mais je ne sais pas trop comment.
C'est un objet d'une classe en C#, cet objet contient des images et des chaines des caractères.
voici un extrait de la classe que je veux sérialiser.
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103 public class Projets { #region Intitule private string _Intitule; public string Intitule { get { return _Intitule; } set { if(_Intitule!=value) _Intitule = value; } } #endregion #region Specification private string _Specification; public string Specification { get { return _Specification; } set { if (_Specification != value) _Specification = value; } } #endregion #region Responsable private Ingenieur _Responsable; public Ingenieur Responsable { get { return _Responsable; } set { if(_Responsable!=value) _Responsable=value; } } #endregion #region Profile private Image _Profile; public Image Profile { get { return _Profile; } set { if (_Profile != value) _Profile = value; } } #endregion #region Ouvriers private Techniciens _Ouvriers; public Techniciens Ouvriers { get { return _Ouvriers; } set { if (_Ouvriers != value) _Ouvriers = value; } } #endregion #region Cargo private NavCargo _cargo; public NavCargo cargo { get { return _cargo; } set { if(_cargo != value) _cargo = value; } } #endregion public Projets() { } public Projets(Ingenieur ir, Techniciens tech, NavCargo nav) { cargo = nav; Responsable = ir; Ouvriers = tech; } public override string ToString() { return Intitule + "\n" + Specification + "\n" + Responsable.ToString() + "\n" + cargo.ToString() + "\n" + Ouvriers.ToString(); ; } }
C'est plus clair comme ça, donc tu veux sérialiser un objet dans un fichier .dwt et non sérialiser un fichier .dwt (cf. ton premier message) ^^
Si le but de la sérialisation est juste de stocker l'objet dans un fichier utilise la sérialisation binaire. Tu as aussi la sérialisation XML, plus adaptée pour le transport d'information (via Internet par exemple) mais avec des limitations à ce moment (seuls les champs publics sont pris en compte, ...).
Un exemple de sérialisation binaire
Et la désérialisation qui va avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Projets monProjet; ... BinaryFormatter formatter = new BinaryFormatter(); using (FileStream stream = new FileStream("monfichier.dwt", FileMode.Create, FileAccess.Write, FileShare.None)) { formatter.Serialize(stream, monProjet); }
Pour le XML ce n'est pas plus compliqué pour sérialiser/désérialiser, on utilise la classe XmlSerializer à la place de BinaryFormatter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Projets monProjet; ... BinaryFormatter formatter = new BinaryFormatter(); using (FileStream stream = new FileStream("monfichier.dwt", FileMode.Open, FileAccess.Read, FileShare.None)) { monProjet = (Projets)formatter.Deserialize(stream); }
Tu trouveras de nombreux tutos/articles sur le sujet en cherchant un peu, aussi bien sur ce site que sur google
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager