在 PowerShell 1.0 中,如果我有一个枚举类型的 cmdlet 参数,那么测试用户是否在 cmdlet 命令行上指定了该参数的推荐方法是什么?例如:
MyEnum : int { No = 0, Yes = 1, MaybeSo = 2 }
class DoSomethingCommand : PSCmdlet
...
private MyEnum isEnabled;
[Parameter(Mandatory = false)]
public MyEnum IsEnabled
{
get { return isEnabled; }
set { isEnabled = value; }
}
protected override void ProcessRecord()
{
// How do I know if the user passed -IsEnabled <value> to the cmdlet?
}
有什么方法可以做到这一点,而不必使用虚拟值播种 isEnabled ?默认情况下它将等于 0,我不想为每个参数播种或向我的枚举添加一个虚拟值。我可能有许多带有 100 个参数的 cmdlet,必须有更好的方法。这与这个问题有关,但我正在寻找一种更清洁的方法。谢谢。