我在System.Management.Automation中使用C#命名空间,以便在Powershell模块中公开类库。在一些cmdlet中,我想提供一个可选的参数,它的行为类似于一个开关(也就是说,如果包含它,则该参数被设置为true)。我在其他Powershell Cmdlet中看到了这样的参数,但我还没有看到使用C#接口来实现这一点的方法。我能到达的最接近的参数是接受布尔值的参数:
[Parameter(HelpMessage = "If enabled, no confirmation prompt will appear")]
public bool Quiet {
我正在C#中开发一个C# cmdlet,并具有true/false开关语句。我已经注意到,如果我希望bool为真,我需要指定-SwitchName $true,否则我得到:
Missing an argument for parameter 'SwitchName'. Specify a parameter of type 'System.Boolean' and try again.
开关的装饰方式如下:
[Parameter(Mandatory = false, Position = 1,
, ValueFromPipelin