所以这是我的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
}
这是班级帐户:
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系统了解谁:
&#34;指数不受限制。它不应该是负数,并且必须小于集合\ r \ nName参数的大小。开始索引&#34;
但我仍然不明白这是什么意思......问题是List<Account>
吗?
感谢您的帮助。
答案 0 :(得分: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"
错误中。 (在逐点检查所有内容之后,我的班级里面似乎又出现了这个错误,我试图阅读互联网网站。)
在这堂课中,我有一部分从<tbody
的一边走到另一边,经过分解后我发现StartIndex
值不是正值而是负值,这会引发异常。
所以问题不在List<Account> li = (List<Account>)method.Invoke(null, arguments);
本身,而在method
类中我的requestW
被调用并给出了例外。
谢谢大家帮助我解决我的问题:)