Проблемы
Я полагаю, что Visual Studio генерирует код при разработке параметров и значений приложения, поэтому во время выполнения это было бы непросто, а в худшем случае невозможно без дизайнера.Однако иногда вы можете вызвать конструктивные особенности во время выполнения.
Вы заметите, что у кода есть свойства в C #, которые вы создаете в своем конструкторе.Например, я добавил параметр для:
Age [int] 30.
Код сгенерирован:
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("30")]
public int Age {
get {
return ((int)(this["Age"]));
}
set {
this["Age"] = value;
}
}
(Генерация кода - это то, почему у вас есть строгие настройки)
Я не уверен, что вы могли бы произвести то же самое во время выполнения.Вам нужно будет сгенерировать код и передать его динамически JIT-компилятору или что-то в этом роде.Или, может быть, есть другой способ, о котором я не знаю из-за моего ограниченного понимания настроек.
Предложение / Обходной путь
Я бы предложил найти альтернативный / более простой способ вместо того, чтобы прыгать через обручи.Например, установите один параметр для типа коллекции, который можно сериализировать, чтобы он мог хранить несколько значений.
Затем вы можете, например, сохранить несколько возрастов под одной настройкой:
Ages [System.Collections.ArrayList] {add multiple values programatically}
В итоге вы можете использовать код C # для управления им:
System.Collections.ArrayList list = new System.Collections.ArrayList();
list.Add("1");
list.Add("30");
Properties.Settings.Default.Ages = list;
Properties.Settings.Default.Save();