首页 > 代码库 > 【工作中遇到的问题】可选参数必须为引用类型、可以为 null 的类型或声明为可选参数。 参数名: parameters

【工作中遇到的问题】可选参数必须为引用类型、可以为 null 的类型或声明为可选参数。 参数名: parameters

今天上班来发现收到新的报错邮件,里面出现一个新的报错.

“Method(Int32, Int32, Int32, Int32, Int32, Int32, System.String, System.String)”的不可以为 null 的类型“System.Int32”的参数“param””

我这个方法本来是要传8个参数,没有的就传默认值.

现在一看报错详情,原来是异步发来的时候,请求参数没传全.

 

这个时候整个人傻逼了.....为神马没传默认参数.... 正想气势冲冲的找前端去理论.这时脑袋灵光一闪,好像有请求参数给默认值这个东西!!!!!

度娘走起~~~~

原来.net4.0的新特性支持了可选参数(C#4.0的新特性:可选参数、命名参数、参数数组。)

那什么是可选参数呢?

可选参数,是指给方法的特定参数指定默认值,在调用方法时可以省略掉这些参数。

 注意:

(1)可选参数不能为参数列表的第1个参数,必须位于所有的必选参数之后(除非没有必选参数);

(2)可选参数必须指定一个默认值,且默认值必须是一个常量表达式,不能为变量;

(3)所有可选参数以后的参数都必须是可选参数。

(参考:http://www.cnblogs.com/zhouhb/archive/2011/06/19/2084574.html)

 

【工作中遇到的问题】可选参数必须为引用类型、可以为 null 的类型或声明为可选参数。 参数名: parameters