Bonjour
Je me heurte a un probleme qui m'interpelle car j'ai encore un trou de compréhension qq part
Je definis une classe et dans son constructeur j'aimerais appeller une methode de désérialisation.
Mais j'ai le message :
Est ce que cela signifie qu'une classe ne peut pas avoir son propre désérializer et que je suis obligé d'utiliser une methode statique externe ?Cannot assign to '<this>' because it is read-only
Voici l'exemple, c'est :
Qui pose problème
Code : Sélectionner tout - Visualiser dans une fenêtre à part this = (C_Algemeen)xs.Deserialize(reader);
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 public class C_Algemeen { public bool[] ForbidDays { get; set; } public List<Plage> ForbidTime {get;set;} public C_Algemeen() { } public C_Algemeen(string _file) { LoadXml(_file); } public void LoadXml(string FileName) { if (!File.Exists(FileName)) { return; } try { using (StreamReader fs = new StreamReader(FileName)) { XmlReaderSettings xmlSettings = new XmlReaderSettings(); xmlSettings.CloseInput = true; xmlSettings.IgnoreWhitespace = true; xmlSettings.ConformanceLevel = ConformanceLevel.Document; xmlSettings.CloseInput = false; XmlReader reader = XmlReader.Create(fs, xmlSettings); XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); ns.Add("", ""); XmlSerializer xs = new XmlSerializer(typeof(C_Algemeen)); this = (C_Algemeen)xs.Deserialize(reader); reader.Close(); fs.Close(); } } catch { } return; } }
Partager