Activator.CreateInstance(type)で他のDLLを読み込み可能なC#アプリケーションがあり、これは特定のインターフェイス(プラグイン)を実装しています。Activator.CreateInstance(type)で作成したインスタンスから例外をキャッチ
今、私は(私はすべての例外が適切にプラグインによって処理されていることを確認することができないため)のようなメッセージを提示するためにそれ自身の例外ハンドラでは、その新しいインスタンスからスローされたすべての例外をキャッチしたい:
Plugin [PluginName] caused the following error: [Exception.Message]
私はAppDomain.CurrentDomain.UnhandledExceptionイベントを購読することができますが、これは特定のプラグインによって引き起こされるものだけでなく、すべての例外をキャッチします。また、そのプラグインが例外を引き起こしたこともわかりません。
作成したインスタンスに例外ハンドラを割り当てることはできますか?事前に
おかげで、
フランク
あなたは私のシナリオをかなり正確に理解しました!しかし、PluginContainerから直接呼び出されないプラグインのメソッドには、exeptionsが存在することもあります。 F.e.すべてのプラグインは、メインプログラムのContentControlに表示されるUserControlを提供する必要があります。そして、このUsreControlには、メインプログラムには知られていないあらゆる種類のメソッド呼び出しがあります。 – Aaginor
@Aaginorああ、その場合はこれはできません。 – InBetween