我需要从COM接口使用一个看起来像这样的方法:
void method(ref string[] output);
由于在方法调用之前我不知道数组的大小,我该如何设置引用的变量:
string[] output = new string[???];
有没有一种聪明的方法可以做到这一点,或者我需要通过提供一个“足够大”的阵列来解决这个问题。之后“缩小”了吗?
答案 0 :(得分:0)
通常,当方法签名没有请求大小时,它意味着您的数组将由方法代码初始化,您应该将“ref”视为“out”。
然而,情况可能并非如此。如果是这样,我相信,你建议的解决方案是你唯一的选择(如果你不知道预期的数组大小)。