Bonjour,
J'utilise des sections personnalisées dans le fichier app.config de mon application et j'aimerais qu'un de mes éléments soit modifiable via mon application. J'ai actuellement ceci :
Ma section :
L'élément de ma setcion :
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 public class ConfigSectionTraitementPDF : ConfigurationSection { private static ConfigSectionTraitementPDF settings = ConfigurationManager.GetSection("ConfigSectionTraitementPDF") as ConfigSectionTraitementPDF; public static ConfigSectionTraitementPDF Settings { get { return settings; } } [ConfigurationProperty("enCoursRelNot")] public TimerRelNotElement EnCoursRelNot { get { return (TimerRelNotElement)base["enCoursRelNot"]; } } }
Mon app.config (j'ai un peu élagué pour ne pas que ce soit trop long):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public class TimerRelNotElement : ConfigurationElement { [ConfigurationProperty("enCours")] public String Encours { get { return (String)base["enCours"]; } } }
Pour récupérer les données, je n'ai pas de problème, tout fonctionne. Mais j'aimerais que mon application puisse faire passer enCours à la valeur "O".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?xml version="1.0" encoding="utf-8"?> <configuration> <ConfigSectionTraitementPDF> <enCoursRelNot enCours="N" /> </ConfigSectionTraitementPDF> </configuration>
J'ai essayé un peu bêtement de transformer mes classes comme ceci :
Mais quand j'essaye de modifier en faisant : ConfigSectionTraitementPDF.Settings.EnCoursRelNot.Encours = "O";, j'ai un message d'erreur disant que la section est en lecture seule.
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 public class ConfigSectionTraitementPDF : ConfigurationSection { private static ConfigSectionTraitementPDF settings = ConfigurationManager.GetSection("ConfigSectionTraitementPDF") as ConfigSectionTraitementPDF; public static ConfigSectionTraitementPDF Settings { get { return settings; } } [ConfigurationProperty("enCoursRelNot")] public TimerRelNotElement EnCoursRelNot { get { return (TimerRelNotElement)base["enCoursRelNot"]; } set { base["enCours"] = value; } } } public class TimerRelNotElement : ConfigurationElement { [ConfigurationProperty("enCours")] public String Encours { get { return (String)base["enCours"]; } set { base["enCours"] = value; } } }
Quelqu'un peut-il me dire comment je peux faire pour m'en sortir ?
Merci d'avance,
Philippe
Partager