Если вы добавите ObservableCollection<People>
к своему собственному коду, но укажете пространство имен «Свойства», вы можете внести это изменение без изменения настроек. Дизайн.cs:
namespace MyApplication.Properties
{
public sealed partial class Settings
{
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public ObservableCollection<Person> AllPeople
{
get
{
return ((ObservableCollection<Person>)(this["AllPeople"]));
}
set
{
this["AllPeople"] = value;
}
}
}
}
Обратите внимание, я изменил доступность класса Settings
на public
. (мне, вероятно, не нужно было этого делать).
Единственный недостаток, который я увидел во всем этом решении / ответе, заключается в том, что вы больше не можете вносить изменения в параметры конфигурации приложения с помощью диалога «Проект» -> «Свойства». В этом случае серьезно испортит ваши новые настройки, преобразовав настройки в строку и исказив ваши XML-теги.
Поскольку я хотел использовать один общесистемный файл конфигурации вместо пользовательского файла, я также изменил global::System.Configuration.UserScopedSettingAttribute()]
на [global::System.Configuration.ApplicationScopedSetting()]
. Я оставил в классе set
accesser, но я знаю, что на самом деле это не спасает.
Спасибо за ответ! Это делает мой код намного чище и проще в управлении.