参数对象 [] 值始终为空
本文关键字:对象 参数 | 更新日期: 2023-09-27 17:57:23
我正在尝试使用参数传递 3 个字符串和一个日期时间对象。但是,无论发送什么,值始终为 null。
public ResponseObject Method(params object[] values)
{
// values is null
var var1 = Convert.ToString(values[0]);
var var2 = Convert.ToString(values[1]);
var var3 = Convert.ToString(values[2]);
var effectiveDate = Convert.ToDateTime(values[3]);
}
最终,我正在尝试创建一个可以具有可选参数的方法,但我不知道要发送多少个参数。 有什么建议吗?
编辑:
我对它的工作原理很陌生,但据我所知,代码是通过 http 请求调用的。该请求大致如下:
http://localhost:20559/api/Method?var1=aaa&var2=bbb&var3=ccc&var4=2013-01-30
如果您希望public ResponseObject Method(object[] values)
工作,请求应如下所示:
../api/Method?values=aaa&values=bbb&values=ccc&values=2013-01-30
这样,您就可以传递包含任意数量的项的数组。
但是,这不是我会做的.
只需选择:
public ResponseObject Method(string var1, string var2, string var3, DateTime? var4 = null)
如果未发送任何参数,则仅为 null.
指定可为 null 的类型可使参数可选。