quelle est la meilleure pratique pour sortir d'une application WPF?

Je suis de maintenir les application en C#, et j'ai remarqué que le code suivant ne fonctionne pas comme prévu.

        private void Form1_Load(object sender, EventArgs e){
             ...
            if (proc.Length == 0)
            {                    
                proc = Process.GetProcessesByName("OpCon");
                if (proc.Length == 0)
                {
                    WriteLog("DataloggerService start: no TSS process detected; close;");
                    this.Close();
                }
            }
          ...
         }

Le code est censé sortir après le Close() appel d'api. Cependant, il est toujours en continuer.

Après un peu de lecture et de recherche, je l'ai modifié pour

       private void Form1_Load(object sender, EventArgs e){
            ....
            if (proc.Length == 0)
            {                    
                proc = Process.GetProcessesByName("OpCon");
                if (proc.Length == 0)
                {
                    WriteLog("DataloggerService start: no TSS process detected; close;");
                    this.Dispose();
                    Environment.Exit(0);
                }
            }
            ....
        }

Il semble à la sortie comme prévu. Cependant, je ne suis pas convaincu que c'est la meilleure pratique?

est-il vraiment nécessaire d'appeler cette.Close() ou cette.Dispose() avant d'Environnement.Exit()?

Grâce.

ce qui concerne,
Sqr

  • Voir ceci: stackoverflow.com/questions/3880836/...
  • Parlez-vous des Winforms ou WPF application, car dans ce dernier, le constructeur par défaut est la méthode à appeler
  • en application WPF, vous ne devez pas appeler Window comme Form.
InformationsquelleAutor sqr | 2014-10-16