.NET ApplicationSettingsBase Должен ли я вызывать Upgrade() каждый раз при загрузке?
У нас есть настройки приложения, полученные из ApplicationSettingsBase
, Когда мы запускаем новую версию нашего приложения, нам нужно позвонить:
//
// Summary:
// Updates application settings to reflect a more recent installation of the
// application.
public virtual void Upgrade();
(из метаданных)
Теперь есть несколько хитрых способов определить, нужно ли обновлять ваши настройки, например, этот пост, который, как мне кажется, когда-либо обновляет ваши настройки только один раз. Теперь я могу сохранить текущую версию своего приложения в настройках и сравнивать каждый раз, когда я создаю экземпляры настроек, если она отличается от текущей версии, я мог бы обновить ее.
Мой вопрос почему бы просто не позвонить Upgrade()
каждый раз, когда я создаю экземпляр настроек? Таким образом, я знаю, что никогда не устарею.
1 ответ
Метод, описанный в связанном посте, работает. Я сам использовал этот метод. Когда версия вашего приложения изменится, настройки будут сброшены до значений по умолчанию и UpdateRequired
собственность будет true
,
Так что нет, вам не нужно звонить Upgrade
каждый раз, когда ваше приложение запускается.