我有一个包含一些 Web 服务的 powershell 模块。Web 服务采用复杂的普通旧点网对象 (PODO),我一直在使用HashTables作为 cmdlet 参数和New-Object MyPODO -Property $MyHashTable将哈希表转换为请求对象,如下所示
function Get-Stuff ([HashTable]$WhatStuff) {
$service = New-ServiceProxy . . . .
$request = New-Object GetStuffRequest -Property $WhatStuff;
return $service.GetStuff($request);
$response;
}
但是,有时我有一个 cmdlet,其响应对象可以直接成为请求对象,如下所示:
function Find-Stuff ([HashTable]$KindaStuff) {
$service = New-ServiceProxy . . . .
$request = New-Object GetStuffRequest -Property $KindaStuff;
return $service.SearchStuff($request);
}
是否有某种方法可以装饰 $WhatStuff 参数以接受特定类型的 HashTable 或 PODO?