Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > app.config


Автор: infarch 5.3.2015, 14:49
Здравствуйте.

Я пытаюсь добавить в конфиг своего приложения кастомный фрагмент "UserConfig". Вот как выглядит сам конфиг:

Код

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

  <configSections>
    <section name="UserConfig" type="V2.UserConfigSection, V2" />
  </configSections>

  <UserConfig>

    <Comagic>
      <add key="login" value="abyrvalg" />
    </Comagic>
    
  </UserConfig>
  
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
</configuration>


Написал простой класс для секции:

Код

namespace V2
{
    class UserConfigSection : ConfigurationSection
    {

        [ConfigurationProperty("Comagic")]
        public ConfigurationElementCollection Comagic
        {
            get { return (ConfigurationElementCollection)(base["Comagic"]); }
        }

    }
}


Ну и теперь пытаюсь читать значения:

Код

            UserConfigSection ucs = ConfigurationManager.GetSection("UserConfig") as UserConfigSection;
            Console.WriteLine(ucs.Comagic["login"]);


Однако проект не билдается, на строке "ucs.Comagic["login"]" я получаю ошибку:
Error    6    'System.Configuration.ConfigurationElement.this[System.Configuration.ConfigurationProperty]' is inaccessible due to its protection level    E:\VisualStudioProjects\Configuration\V2\Program.cs.

Подскажите пожалуйста, что не так?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)