アプリケーションを起動するとき、デフォルト データのセットを作成するために特定のファイルを読み取るために必要なクラスがいくつかあります。
(私にとって) これを行う論理的な場所は、Shared クラスのコンストラクターです。デフォルトファイルの読み取りが失敗した場合、クラスレベルのイベントをスローするという考えです。残念ながら、このようなイベントにアクセスしようとすると、ハンドラーをアタッチするために、イベントがアタッチされる前にクラス コンストラクターが起動されるため、これは機能しません。失敗した場合、コンストラクターが開始され、fail イベントが発生し、コンストラクターが完了し、イベントが発生した後にイベント ハンドラーがアタッチされます。
私が考えることができる他の唯一の解決策は、クラスに「typeInitializedSuccessfully」ブール値プロパティを与え、クラスのインスタンスを構築するためのすべての呼び出しの周りに try/catch ブロックを配置することです。
誰かがよりエレガントなソリューションを提案できますか?
編集:これは基本的なクラスであり、ほぼすべてのソフトウェアツールで何らかの形で使用されるため、将来のプログラマーに型初期化子を呼び出す必要があることを通知するソリューションが非常に望ましいと考えています。ソリューションとして共有コンストラクター。