我在C ++中有这样的功能
int GetValue(int iValue1, int(&iArrValue2)[8]);
我想在CLI层中具有相同的功能。如何在CLI头文件中做到这一点?
答案 0 :(得分:0)
没有内置类型为固定长度的数组。
我的建议是做与.Net库相同的操作:只取一个普通数组,如果长度不正确,则抛出一个ArgumentException
。例如,如果您传递错误的字节数,这就是IPAddress
constructor的操作。
如果必须满足此要求,则可以创建一个自定义类型:提供8个整数的存储空间,并实现足够的Array class members,以至于它可以像数组一样使用。这样做的问题是,您可能要实现与普通int数组之间的转换,然后要做的就是将长度检查和异常从方法中移到此转换中,并添加了复杂性自定义类型。