Как получить значение из конфигурационного файла? - PullRequest
0 голосов
/ 17 марта 2020

Как получить различные типы (int, bool, string, long и др. c.) Значений из файла конфигурации в c#?

Значения хранятся в properties -> settings.

Ответы [ 3 ]

1 голос
/ 17 марта 2020

Предполагается, что вы создаете приложение форм Windows, а в свойствах вашего проекта есть вкладка Настройки, отображающая сетку из 4 столбцов; имя, тип, область и значение. В коде вы пишете:

Properties.Settings.Default.YourPropertyName

Например, если у вас есть настройка

Name     Type     Value
MaxAge   double   100

Тогда вы можете иметь код:

_ageNumericUpDown.MaxValue = Properties.Settings.Default.MaxAge;

Разница между областью применения а настройки пользовательской области - пользовательскую область можно изменить с помощью кода (Properties.Settings.Default.MaxAge = 200;) и сохранить с помощью Properties.Settings.Default.Save(). Настройки области приложения необходимо изменить, отредактировав файл YourExeName.exe.config XML. Пользовательские настройки контекста не хранятся в этом файле, они хранятся в файле аналогичной формы где-то в пользовательских папках временных данных, на случай, если вы когда-нибудь задумаетесь, почему сохранение не изменяет основной файл настроек.

0 голосов
/ 19 марта 2020

Самый простой ответ, который я получил, это

int value1 = Convert.ToInt32(Settings.Default["value1"].ToString());
long value2 = Convert.ToInt64(Settings.Default["value2"].ToString());
string value3 = Settings.Default["value3"].ToString();
bool value4 =  Convert.ToBoolean(Settings.Default["value4"].ToString());
0 голосов
/ 17 марта 2020

Пожалуйста, попробуйте это

Если ваш файл конфигурации похож на это (xml) WebAppSettings.config:

<appSettings>
  <add key="name" value="John"/>
</appSettings>

В C# мы вызываем получить значение из WebAppSettings. config

var value= ConfigurationManager.AppSettings["name"];

out put

John

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...