Bonjour,

Je débute sur le C# après avoir passer 80 heures à apprendre ce langages, il est temps pour moi de passer à l'étape au dessus; la pratique !

Je suis donc en train de faire un projet qui me permettra de tester différents aspect du C# pour me faire la main et parfaire mes connaissances.

J'attaque donc par le début, le app.config.

Je sais ajouter des clefs dans les balises par défaut appsetting ainsi que les informations de connexion Sql serveur via balise connectionstrings avec mot de passe crypter (j'ai galéré sur ce point ^^).

Il me reste donc à voir les sections afin de ranger / personnaliser des informations dans le fichier app.config.

J'ai trouvé un script plutôt pas mal et simple :

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
using System.Configuration;
namespace My {
public class MyConfigSection : ConfigurationSection {
    [ConfigurationProperty("", IsRequired = true, IsDefaultCollection = true)]
    public MyConfigInstanceCollection Instances {
        get { return (MyConfigInstanceCollection)this[""]; }
        set { this[""] = value; }
    }
}
public class MyConfigInstanceCollection : ConfigurationElementCollection {
    protected override ConfigurationElement CreateNewElement() {
        return new MyConfigInstanceElement();
    }
 
    protected override object GetElementKey(ConfigurationElement element) {
        //set to whatever Element Property you want to use for a key
        return ((MyConfigInstanceElement)element).Name;
    }
}
 
public class MyConfigInstanceElement : ConfigurationElement {
    //Make sure to set IsKey=true for property exposed as the GetElementKey above
    [ConfigurationProperty("name", IsKey = true, IsRequired = true)]
    public string Name {
        get { return (string) base["name"]; }
        set { base["name"] = value; }
    }
 
    [ConfigurationProperty("code", IsRequired = true)]
    public string Code {
        get { return (string) base["code"]; }
        set { base["code"] = value; }
    } } }

Je sais comment récupérer les informations une fois renseignées MAIS et c'est là que ca coince, je ne sais pas comment "remplir" les informations...

Je souhaite avec le code du dessus obtenir ca :

Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<configuration>
    <configSections>
        <section name="STUFF" 
                 type="My.MyConfigSection, My.Assembly" />
    </configSections>
    <STUFF>
        <add name="Arme" code="22"/>
        <add name="Armure" code="12"/>
        <add name="Gants" code="45"/>
    </STUFF>
</configuration>


Il me manque que la partie de comment l'incrémenter.
J'ai essayé de jouer en créant une instance de MyConfigSection mais je n'y arrive pas.

Je pense que c'est une question bête de ma part, mais je ne parviens pas à trouver de reponse sur le net à part comment récupérer ces informations une fois qu'elles sont remplies.