WPF WTF ??? или Application.Restart

Как перезагрузить собственное приложение?
Умеете вы?
Ок, для тех, кто не умеет:

в Windows Forms существует статический метод:


Application.Restart();


Однако в WPF приложении подобного метода нет, кроме того лучшая практика гласит: не используй никогда ты в WPF приложении референсы на Windows Forms, поэтому просто вызвать метод Application.Restart — не наш метод!!!

А значит мы будем использовать вот такой вариант:

System.Diagnostics.Process.Start(Application.ResourceAssembly.Location);
Application.Current.Shutdown();

То есть запускаем свой процесс снова, и организуем выход из текущего процесса…