В файле Settings.settings есть несколько перечисленных по умолчанию типов данных, а затем вы можете добавить еще несколько из дерева, выбрав «Обзор».
Мне действительно нужно сохранить int[]
в моем файле настроек, и сделали это следующим образом:
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public int[] SPLTimings
{
get
{
return ((int[])(this["SPLTimings"]));
}
set
{
this["SPLTimings"] = value;
}
}
и при первом запуске программы:
int[] timings = Settings.SPLTimings ?? new int[] { 25, 100, 80, 50, 125, 50 };
, которая позже будет сохранена на диск.с Settings.Save()
Это работает довольно хорошо, но есть небольшая проблема с этим.Если я хочу добавить простой тип данных с помощью графического интерфейса настроек, мои пользовательские дополнения будут удалены, и мне придется добавить их снова.В настоящее время у меня есть только один особый случай, так что нет ничего сложного в том, чтобы добавить его, если он будет удален.С другой стороны, я могу просто добавить последующие базовые настройки, такие как strings / ints / etc, таким же образом, как я добавил int[]
: кодирование прямо в файл Settings.Designer.способ сделать это?
Так как класс Settings
уже является частичным, было бы лучшим решением создать новый файл, скажем CustomSettings, который продолжает определение класса и включает эти неясные типы?