#powershell #enums #add-type
#powershell #перечисления #добавить тип
Вопрос:
Я использую PS 4.0, у меня есть скрипт с параметром enum для функций.
Add-Type -TypeDefinition @"
public enum AppEnum
{
MyFirstItem,
MySecondItem
}
"@
Я использую его так :
Function MyFunction
{
Param
(
[AppEnum]$App
)
Return $App
}
Но мой список для моего перечисления такой же, как в моем XML-файле, и его можно изменить.
Я извлекаю свой список следующим образом :
($xcf.Apps.W2008.LAN | Get-Member -MemberType Properties).Name | ?{$_ -ne "Repository"}
Я хотел бы использовать этот динамический список, извлеченный из моего XML-файла, в качестве списка для моего перечисления в «Add-Type», но я не нахожу, как это сделать, и я не знаю, возможно ли это. У вас есть какие-либо идеи, как это сделать?
Ответ №1:
# Get list from your XML file here
$myEnumList = @("MyFirstItem", "MySecondItem")
$source = "public enum AppEnum { " ($myEnumList | %{ $_ "," }) " }"
Add-Type -TypeDefinition $source
# Let's check value is known
[AppEnum]::MyFirstItem