具有外部列表的Add-Type枚举

时间:2016-10-18 06:35:49

标签: powershell enums add-type

我使用PS 4.0,我有一个带有函数参数枚举的脚本。

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文件中提取的动态列表作为“添加类型”中枚举的列表,但我不知道如何以及我不知道是否可能。你知道怎么做吗?

1 个答案:

答案 0 :(得分: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