.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 каждый раз, когда ваше приложение запускается.

Другие вопросы по тегам