Я использовал хеш-таблицы для возврата сложных данных из функций, и это работало хорошо, но я хотел бы иметь строго типизированные ключи, поскольку у меня есть логические значения, строки, массивы строк, упорядоченные словари и тому подобное ввозвращенные хеш-таблицы.Итак, учитывая что-то вроде этого
[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, и нет способа или нет элегантного способа создать пользовательский объект со строго типизированными свойствами?