0

これがTargetInvocationExceptionに関する私の問題です。

このエラーは、MethodInfo method.Invoke(null, arguments);

参考までに、私は誰かが私の前に作成したコードに取り組んでいます.2014年に、それは機能するはずでしたが、そうではありません. 週末全体を検索した後、問題は見つかりませんでした。私が持っているコードに関する詳細情報を私に尋ねることを躊躇しないでください。問題は別の場所にある可能性があります。

メインプログラムでは、次のようになります (すべてのコードがあるわけではありません。いくつかの部分はそれらの行の間にありますが、それらは必要ありません):

static void Main (string[] args)
{
    [... Code before]
    object[] arguments = { popup };
    MethodInfo method;
    CodeCompiler cc = new CodeCompiler();
    method = cc.CompileCode(fichier, "test", "RequestWeb", "requestW", true, arguments);

    List<Account> li = (List<Account>)method.Invoke(null, arguments); // TargetInvocationException Here is the error
}

そして、クラス Account は次のとおりです。

public class Account
{
    virtual public string libelle { get; set; }
    virtual public List<AccountStat> listR { get; set; }

    public Account()
    {
        this.listR = new List<AccountStat>(); // This go to another class where List<AccountStat> is defined
    }
}

私は私に教えてくれる InnerException システムで理解しようとしました:

"インデックスは制限を超えていました。負の値であってはならず、コレクションのサイズより小さくなければなりません \ r \ nName パラメータ .StartIndex"

しかし、私はそれが何を意味するのかまだ理解していません... 問題はList<Account>ですか?

ご協力ありがとうございました。

4

1 に答える 1

1

ポイントごとにすべてを検索した後、エラーがあったrequestWクラスにエラーがあることがわかりまし"The index was off limits. It should not be negative and must be less than the size of the collection \ r \ nName parameter . StartIndex"た。(すべてを一点一点確認した後、このエラーは、インターネット Web サイトを読み取ろうとしているクラス内で再び発生するようです。)

このクラスには、ある側<tbodyから別の側に移動する部分があり、分解後、StartIndex値が正ではなく負であることがわかり、例外がスローされます。

したがって、問題はList<Account> li = (List<Account>)method.Invoke(null, arguments);それ自体ではなく、methodクラスで myrequestWが呼び出され、例外が発生しました。私の問題を解決するのを手伝ってくれてありがとう:)

于 2016-02-15T10:36:17.613 に答える