いくつかのWebサービスをラップするPowerShellモジュールがあります。Webサービスは複雑なPlainOldDot Net Objects(PODO)を使用し、コマンドレットパラメーターとNew-Object MyPODO -Property $ MyHashTableのようにHashTablesを使用して、ハッシュテーブルをリクエストオブジェクトに変換しています。
function Get-Stuff ([HashTable]$WhatStuff) {
$service = New-ServiceProxy . . . .
$request = New-Object GetStuffRequest -Property $WhatStuff;
return $service.GetStuff($request);
$response;
}
ただし、次のように、応答オブジェクトが直接要求オブジェクトになることができるコマンドレットがある場合があります。
function Find-Stuff ([HashTable]$KindaStuff) {
$service = New-ServiceProxy . . . .
$request = New-Object GetStuffRequest -Property $KindaStuff;
return $service.SearchStuff($request);
}
$ WhatStuffパラメーターを装飾して、特定のタイプのHashTableまたはPODOのいずれかを受け入れる方法はありますか?