IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Windows Discussion :

Modification d'éléments personnalisés dans le fichier app.config


Sujet :

Développement Windows

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 10
    Points : 9
    Points
    9
    Par défaut Modification d'éléments personnalisés dans le fichier app.config
    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 :
    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"];
                }
            }
        }
    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
    public class TimerRelNotElement : ConfigurationElement
        {
            [ConfigurationProperty("enCours")]
            public String Encours
            {
                get
                {
                    return (String)base["enCours"];
                }
            }
        }
    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
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <ConfigSectionTraitementPDF>
        <enCoursRelNot enCours="N" />    
      </ConfigSectionTraitementPDF>
    </configuration>
    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".

    J'ai essayé un peu bêtement de transformer mes classes 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
    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;
                }
            }
        }
    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.

    Quelqu'un peut-il me dire comment je peux faire pour m'en sortir ?

    Merci d'avance,

    Philippe

  2. #2
    Membre éprouvé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 462
    Points : 1 056
    Points
    1 056
    Par défaut
    Bonjour,

    Ta propriété "Encours" n'as pas de "setter". Donc tu ne peux pas la modifier...

    Voici un exemple de propriété avec un "getter" et "setter" (get, set)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            public String Encours
            {
                get
                {
                    return (String)this["enCours"];
                }
                set { this["enCours"] = value; }
            }

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    Merci pour ta réponse. Mais comme je le mets dans le dernier bloc de code de mon message initial, c'est ce que j'ai essayé de faire et j'ai toujours l'erreur.

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/06/2012, 21h55
  2. [VS C#] ajouter signe supérieur dans mon fichier app.config
    Par grinder59 dans le forum Visual Studio
    Réponses: 1
    Dernier message: 10/07/2009, 20h54
  3. [C#] Lire dans le fichier App.config
    Par JOBiJOBa3 dans le forum Windows Forms
    Réponses: 13
    Dernier message: 02/01/2009, 09h08
  4. Réponses: 2
    Dernier message: 04/06/2006, 18h19
  5. Réponses: 9
    Dernier message: 04/05/2006, 17h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo