调用一个方法并抛出异常,说我传递了太多的值...但我不是

时间:2015-07-30 10:08:20

标签: .net vb.net

有点奇怪的问题。

我正在调用一种方法并传递13个参数。当我运行它抛出的代码和异常说:

“13个参数被传递给'Lib.class :: UpdateInformation'。这个方法预计会有12个参数。”

我觉得这很奇怪所以我去了方法定义(通过Visual Studio中的右键菜单)并计算了它所期望的参数数量,我算上了13。

现在我已经失去了一夜之间计算的能力,或者有些奇怪的事情发生了。关于这里有什么想法?

附加信息:此方法没有重载

1 个答案:

答案 0 :(得分:2)

您传递的一个或多个值的类型可能导致与错误的方法签名匹配。断点它并检查传递的值的实际类型,从头到尾,然后查看各种方法的过载签名。您几乎肯定会找到一个匹配参数的匹配项比参数更少的参数。

假设您没有意外地以错误的顺序传递参数,您可以将您的值强制转换为预期类型,这会强制您期望的匹配。