我如何为字节数组参数设置默认值?
下面的代码不会工作……
下面的代码不会工作……
public static void init(SomeByteArray[] = {1,2,3,4}) { //Do Something }
这可能吗?
我在.Net Micro Framework 4.1中这样做,如果它有任何区别……
解决方法
从
MSDN开始:
A default value must be one of the following types of expressions:
- a constant expression;
- an expression of the form new ValType(),where ValType is a value type,such as an enum or a struct;
- an expression of the form default(ValType),where ValType is a value type.
因此,数组实例不能用作默认值.
最好的解决方案是probbaly两个定义两个重载如下:
public static void Init() { Init(new byte[] { 1,4 }); } public static void Init(byte[] data) { ...