我想从.NET函数中获取10个short
类型的值。
在C#中它的工作原理如下:
Int16[] values = new Int16[10];
Control1.ReadValues(values);
C#语法为ReadValues(short[] values)
。
我试过这样的事情:
$Control1.ReadValues([array][int16]$Result)
但阵列中只有零。
答案 0 :(得分:2)
在你提到的评论中:
我相信C#函数有一个ref
所以,方法签名确实是:
ReadValues(ref short[] values)
幸运的是,PowerShell在这种情况下有一个[ref]
类型的加速器
# Start by creating an array of Int16, length 10
$Result = [int16[]]@( ,0 * 10 )
# Pass the variable reference with the [ref] keyword
$Control1.ReadValues([ref]$Result)
如需更多信息,请参阅about_Ref
帮助文件