2016-12-02 6 views
2

は:PHP連想配列をComVisible .NET関数に渡すことはできますか?私はPHPインデックスとする配列を渡すと

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

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

を...それはSystem.Objectの[]、と私は例えば、それに応じてそれに対処できるようにC#やF#に伝わってきます

しかし、私は連想配列渡し:それはがDBNullとして伝わってくる...

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

を。

COM経由で.NET関数に連想配列を渡す方法はありますか?

答えて

1

.NETのDictionaryを使用すると、名前付きキーを処理できます。あなたはいつも、その後も同様に、.NETでデコードJSON形式のデータをエンコードすることができ... :)

(注:この答えは、あなたの質問にすべての.NETを見ていないのオフに基づいています)

+0

PHPと.NETの間に、より簡単で安全な方法がありますか。 JSONのシリアル化? –

+0

私は他の方法に慣れていません。おそらく可能性があります。あなたの質問に.NETでタグを付けることが必要な場合があります –

1

私はそれを想定します連想配列のマーシャリングがPHP側でどのように処理されるかが本当にあります。実際の答えは「まったく」ではないかもしれません。

解決できない場合は、連想配列をキーと値を別々の列に格納した多次元配列に変換し、obj[,]として渡すことをお勧めします。

関連する問題