よくある話: C# を使用して ArcMap 拡張機能を開発しています。ほとんどの問題は、ArcToolbox のあらゆる種類のジオプロセシング ツールを使用して解決できます。一般的により望ましいものは次のとおりです。
- ツールごとに新しいジオプロセッサ オブジェクトを作成しますか?
- 1 つのジオプロセッサ オブジェクトを再利用していますか?
1) が推奨される場合、1 つのツールが実行された後に com オブジェクトを解放する必要がありますか? GC.Collect() の呼び出しについてはどうですか?
2) が推奨される場合、シングルトン パターンを使用するなど、一度インスタンス化して何度も再利用するのは良い方法ですか?
私の個人的な経験では、2 番目の方法を使用すると、コードのデバッグ中に重大なメモリ アクセス違反が発生します。