4

私は最初に次の方法を使用していました-これは正常に機能していました

var obj = Activator.CreateInstance("MyProject","MyProject.MyImpl");

今、上記の行でエラーが発生しています。エラーは次のとおりです。

Exception has been thrown by the target of an invocation.

何がうまくいかないのかについて何か提案はありますか?

4

2 に答える 2

5

MyImpl最も簡単なのは、クラスのコンストラクターにブレークポイントを設定してデバッグすることです。

トリッキーな問題の1つは、例外が実際にコンストラクターによって直接スローされるのではなく、フィールド初期化子によってスローされる場合です。

たとえば、次の場合、何かをスローする可能性のある明示的なコンストラクターがない場合でも、説明した動作が発生します。

public class MyImpl
{
    private int something = ThisMethodThrows();

    private int ThisMethodThrows()
    {
        throw new Exception();
    }
}
于 2013-02-04T19:37:42.517 に答える
3

オブジェクトのコンストラクターで例外がスローされています。Visual Studio で例外をオンにすると、そのコンストラクターがスローしたときに中断するはずです。

于 2013-02-04T19:29:28.943 に答える