小编Jac*_*raw的帖子

如何确定是否指定了PowerShell Cmdlet参数值?

在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?
}
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点,而不必使用虚拟值种子isEnabled?默认情况下,它将等于0,我不希望为每个参数设置种子或为我的枚举添加虚拟值.我可能有很多带有100个参数的cmdlet,必须有更好的方法.这与这个问题有关,但我一直在寻找一种更清洁的方法.谢谢.

c# parameters powershell cmdlets

6
推荐指数
1
解决办法
5343
查看次数

标签 统计

c# ×1

cmdlets ×1

parameters ×1

powershell ×1