我可以将PHP关联数组传递给ComVisible .NET函数吗?

时间:2016-12-02 20:09:27

标签: c# php .net f# com

当我传递PHP索引数组时:

$myVar = new COM('MyClass');
$myVar->DubbleArray([1, 2]);

...它作为System.Object []来到C#或F#,我可以相应地处理它,例如:

[<ComVisible(true)>]
type LettersClass() = 
    member this.DubbleArray(array: obj[]) =
    // do stuff with the values in the array

但是当我传递一个关联数组时:

$myVar->DubbleArray(array('first'=>'1st','second'=>'2nd'));

......它以DBNull的形式出现。

有没有办法通过COM将关联数组传递给.NET函数?

1 个答案:

答案 0 :(得分:1)

我认为它实际上取决于如何在PHP端处理关联数组的编组。实际的答案很可能是“完全没有”。

除非你能弄明白,否则我建议一个解决方法 - 我最好的办法是将关联数组转换为一个多维数组,在单独的列中存储键和值,并将其作为obj[,]传递。