たまにこういう、あちこちで流行る話題があるね。
#「あるね」が最初は「アルネ」に変換された。いったい過去にどういう学習をしたんだか…
「スプラッシュ ウインドウだそうです」を見ていて思ったこと(だが、記事の内容に関してではなく、MSに対する文句)。
Applicationとか、ApplicationContextとか、ネーミングが悪い。
ApplicationContext.MainFormは、確かに何度でも差し替えが可能になっている。
しかし、アプリケーションのメインウィンドウって、そんなにコロコロかわるもんか?
(「変えてはいけない」とは言ってない。「もっと違う名前にしとくべきだった」ってことだ)
Application.Runは「カレントスレッドにおいてメッセージループを開始する」メソッドだし、当然ApplicationContextもスレッドごとに存在できるし、ApplicationContext.MainFormは「閉じられたらスレッドを終了するウィンドウ」である。
Application.ExitThreadなんていうメソッドの存在は前から気に入らなかった。
ApplicationContextは解説にも書いてあるけれど、「メッセージループを終了させる条件を再定義
」するためのものであって「アプリケーションを終了させる条件を再定義」するためのものじゃない。
しかし、同じページにある「アプリケーション スレッドに関するコンテキスト情報を指定します」っていうコメントはどうなの。
そもそも「アプリケーションスレッド」って何?ユーザーインターフェイススレッドのこと?
しかしこれは「スレッドコンテキスト」ではないし、「Thread.CurrentContext」でもない。紛らわしいね。
で、「アプリケーション」て何?プロセス…じゃないし、スレッド…でもない。AppDomain…とも違う。