当我传递PHP索引数组时:
$myVar = new COM('MyClass');
$myVar->DubbleArray([1, 2]);
...it通过C#或F#作为System.Object[]来处理,我可以相应地处理它,例如:
[<ComVisible(true)>]
type LettersClass() =
member this.DubbleArray(array: obj[]) =
// do stuff with the values in the array
但是当我传递一个关联数组时:
$myVar->DubbleArray(array('first'=>'1st','second'=>'2nd'));
...it以DBNull的身份出现。
有没有办法通过COM?将关联数组传递给.NET函数?
发布于 2016-12-02 20:12:22
在字典中使用.NET允许您处理命名密钥。您可以始终以JSON格式对数据进行编码,然后在.NET中进行解码.:)
(注:这个答案是基于在你的问题中没有看到任何.net )
发布于 2016-12-03 11:23:35
我想这真的取决于如何在PHP端处理关联数组的编组。实际的答案很可能是“一点也不”。
除非您能搞清楚这一点,否则我会建议一个解决办法--我最好的选择是将关联数组转换为一个多维数组,将键和值存储在单独的列中,并将其作为obj[,]
传递。
https://stackoverflow.com/questions/40940104
复制相似问题