У меня есть модуль PowerShell, который охватывает некоторые веб-службы. Веб-службы используют сложные объекты Plain Old Dot Net (PODO), и я использовал HashTables как в параметрах командлета и New-Object MyPODO -Property $ MyHashTable для преобразования хэш-таблицы в объект запроса, например
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 определенного типа?