1. ホーム
  2. c#

静的デストラクタ

2023-08-29 03:18:06

質問

C#には静的なコンストラクタがあり、いくつかの初期化(おそらくアンマネージドリソースの初期化)を行います。

静的なデストラクタはあるのでしょうか?

どのように解決するのですか?

いいえ、ありません。

静的なデストラクタは、おそらくプロセスの実行終了時に実行されるでしょう。 プロセスが死ぬと、それに関連するすべてのメモリ/ハンドルはオペレーティング システムによって解放されます。

プログラムが実行終了時に特定のアクションを行う必要がある場合 (トランザクション データベース エンジンのように、キャッシュをフラッシュする)、プロセスの通常の実行終了時に実行される単なるコード片よりも、正しく処理することがはるかに難しくなります。クラッシュや予期せぬプロセスの終了を手動で処理し、次の実行時にリカバリを試みる必要があるのです。静的なデストラクタのコンセプトはそれほど助けにならないでしょう。