我有一个对象列表(它们的类型未提前未知)。下面的例子显示了硬编码值,但是我的实际代码通过从CSV文件中读取来填充参数列表。然后我想将这个参数列表传递给请求某些参数的典型方法。所以我将元素转换为所需的类型,如图所示。我得到错误:将一个对象变量传递给方法 - 指定的转换无效
Specified cast is not valid
当在运行时调用该方法。我应该如何去做到这一点?
var args = new List<object>();
args.Add(5495);
args.Add("String1");
args.Add(10133);
args.Add("String2");
result = request.GetCustomer((long) args[0], (string) args[1], (int) args[2], (string) args[3]);
该错误明确告诉你为什么你不能执行转换,包括对象的实际类型以及要转换的对象。如果您希望在运行时不失败,您需要将对象转换为* actual *类型。 – Servy
好吧,一个好的开始将是围绕这个和一个计数的try catch块,以便您可以看到csv中的哪一行是罪魁祸首。 – Kell
@Kell一个'try' /'catch'块只会掩盖问题。他已经可以看到这个错误,他只需要修正他的代码中的错误。 – Servy