CLI层中的固定大小数组

时间:2018-10-01 02:17:32

标签: c++ c++-cli

我在C ++中有这样的功能

int GetValue(int iValue1, int(&iArrValue2)[8]);

我想在CLI层中具有相同的功能。如何在CLI头文件中做到这一点?

1 个答案:

答案 0 :(得分:0)

没有内置类型为固定长度的数组。

我的建议是做与.Net库相同的操作:只取一个普通数组,如果长度不正确,则抛出一个ArgumentException。例如,如果您传递错误的字节数,这就是IPAddress constructor的操作。

如果必须满足此要求,则可以创建一个自定义类型:提供8个整数的存储空间,并实现足够的Array class members,以至于它可以像数组一样使用。这样做的问题是,您可能要实现与普通int数组之间的转换,然后要做的就是将长度检查和异常从方法中移到此转换中,并添加了复杂性自定义类型。