заполнить раздел в файле конфигурации

#c# #app-config

#c# #app-config

Вопрос:

Я новичок в C #, потратив 80 часов на изучение этого языка, пришло время для меня сделать шаг выше; практика!

Поэтому я делаю проект, который позволит мне протестировать различные аспекты C #, чтобы помочь мне учиться и совершенствовать свои знания.

Итак, я атакую с самого начала, app.config.

Я знаю, как добавить ключи в теги appsetting по умолчанию, а также информацию о подключении к Sql server через тег connectionstrings с зашифрованным паролем (я боролся с этим пунктом ^^).

Итак, мне все еще нужно просмотреть разделы для хранения / настройки информации в файле app.config.

Я нашел довольно хороший и простой скрипт:

  class Config
{
    public class MyConfigSection : ConfigurationSection
    {

        [ConfigurationProperty("STUFF", IsRequired = true, IsDefaultCollection = true)]
        public MyConfigInstanceCollection Instances
        {
            get { return (MyConfigInstanceCollection)this["STUFF"]; }
            set { this["STUFF"] = 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; }
        }
    }
}
  

Я знаю, как получить информацию после заполнения, НО именно здесь она застревает, я не знаю, как «заполнить» информацию…

Я хотел бы с помощью приведенного выше кода :

 <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>
  

Я пропускаю ту часть, как увеличить его.
Я пытался поиграть, создав экземпляр MyConfigSection, но у меня не получается.

Я думаю, что это глупый вопрос с моей стороны, но, похоже, я не могу найти ответ в сети, кроме того, как получить эту информацию после ее заполнения.

Комментарии:

1. Если вы только изучаете c #, я бы лично посоветовал вам найти что-нибудь другое. Весь System.Configuration API в значительной степени устарел с момента выхода .NET Core

2. Вы пытаетесь изменить файл конфигурации в коде? Я не думаю, что вы имеете в виду слово increment здесь…

3. @Lee Taloy : Да, я хочу изменить файл конфигурации в коде ! 🙂 извините за мой язык.

4. @Camilo Terevinto: конфигурация системы является устаревшей? Я пытаюсь его выучить, потому что хочу работать в компании на C # для смены карьеры. Обычно я разрабатываю на другом языке, но этот менее востребован.

5. codeproject.com/Articles/878910/…