Я использовал хэш-таблицы для возврата сложных данных из функций, и это сработало хорошо, но я хотел бы, чтобы ключи были строго типизированы, так как у меня есть логические значения, строки, массивы строк, упорядоченные словари и т. д. в возвращаемых хеш-таблицах. . Итак, учитывая что-то вроде этого
[hashtable]$hashtable = @{
one = 1
two = "two"
}
У меня проблема в том, что тип каждого ключа слабо типизирован. Я хочу в основном сделать это
[hashtable]$hashtable = @{
[int]one = 1
[string]two = "two"
}
Но это неверный код. Поэтому я подумал, что смогу это сделать
[psCustomObject]$object = [psCustomObject]@{
[int]one = 1
[string]two = "two"
}
Но это тоже недействительно. Я нахожу это немного уродливым, и это также не работает
$object = New-Object -typeName:PSObject
$object | Add-Member -memberType:int -name:'one' -value:1
$object | Add-Member -memberType:string -name:'two' -value:'two'
Итак, я SOL и нет способа или нет элегантного способа создать пользовательский объект со строго типизированными свойствами?