2016-12-02 95 views
2

當我通過PHP索引數組:我可以將一個PHP關聯數組傳遞給ComVisible .NET函數嗎?

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

...談到通過到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')); 

...它的DBNull來通過。

有什麼辦法通過COM將關聯數組傳遞給.NET函數嗎?

回答

1

在.NET中使用Dictionary可讓您處理指定的密鑰。你總是可以編碼JSON格式的數據,那麼在.NET解碼,以及... :)

(注:這個答案是基於關閉沒有看到你的問題任何.NET的)

+0

有沒有比傳統方法更容易/更安全/更高效的方法來通過它們之間的PHP和.NET? JSON序列化? –

+0

我不熟悉任何其他方式。這可能是可能的,你可能想用.NET標記你的問題 –

1

我想這真正取決於如何在PHP端處理關聯數組的編組。實際的答案很可能是「一點都不」。

除非你能弄明白,我會建議一個解決方法 - 我最好的選擇是將關聯數組轉換爲一個多維數組,並將其存儲在單獨的列中,然後將其作爲obj[,]傳遞。

相關問題