13

Main_Load イベントで多くの変数が初期化される .Net Windows フォーム アプリケーションがあり、DB を再クエリし、すべての変数を null に設定して再初期化する状況があります (基本的にフォーム 100%最初からリロードされます)、しかし、私はそれが簡単ではないような方法で (私のせいで) Main-Load を書きました...

を呼び出すだけで必要なものを正確に取得できることはわかってApplication.Restartいますがこれが良いプログラミング手法なのか、それとも本当に悪いと考えられているのかはわかりません。

Application.Restartこのコンテキストで使用することで遭遇する可能性のある問題はありますか?

4

4 に答える 4

7

デバッグには適していませんが、実際には何も問題はありません。アプリを終了して再起動するのと同じです。

メイン フォームの新しいインスタンスを作成し、古いインスタンスを閉じるだけで回避できます。ただし、プログラムが終了しないようにする必要があります。コードはこちらです。

于 2012-10-19T20:02:20.170 に答える
2

メソッドが機能しないわけではありません。むしろ、多くの場合、プログラマーは、アプリケーションが自動的にシャットダウンまたは起動するのを止める何かをコードに入れたことを忘れています。

このスレッドに従ってください

で仕事をすることもできます

 System.Diagnostics.Process.Start(Application.ExecutablePath);
 Application.Exit();
于 2012-10-19T19:47:33.193 に答える
0

タイトルの質問に直接答えるには、アプリケーションを再起動して変数を再初期化することは悪い習慣です。

アプリケーションの再起動が役立つ場合もありますが (自己更新など)、ReInitialize()メソッドを模倣するために再起動するのは良くないと思います。

于 2012-10-19T20:27:30.193 に答える