c# - 如何使 PSCmdlet bool 参数像标志一样工作?

标签 c# powershell powershell-cmdlet

使用 System.Management.Automation,您可以在 C# 中创建自定义 PSCmdlet。 现在,如果您像这样创建 bool 参数:

[Parameter()]
public bool ShowDefinition { get; set; }

您必须像这样调用 cmdlet:

PS> Get-CustomValues -ShowDefinition 1

但我想在不将值传递给 -ShowDefinition 的情况下调用它。与 -Debug 的工作方式相同。 像这样:

PS> Get-CustomValues -ShowDefinition

我该怎么做?

最佳答案

好的,我找到了答案。

您必须使用 SwitchParameter。

[Parameter]
public SwitchParameter ShowDefinition { get; set; }

protected override void ProcessRecord(){
    if(ShowDefinition.ToBool()){
    ...
    }
}

关于c# - 如何使 PSCmdlet bool 参数像标志一样工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30755341/

相关文章:

c# - NHibernate保存非持久实体,同时维护现有ID

powershell - 使用 PSCustomObject 在单独的列中列出多个文件夹然后选择一些?

Powershell使用正确的子目录路径从gitlab下载文件

c# - 有没有办法对 Azure Powershell Cmdlet 进行子类化,或者类似的方法?

c# - 带有哈希表/字典参数的 Powershell C# Cmdlet

c# - 将用 python 编写的应用程序转换为 c# 有什么充分的理由吗?

c# - 使用任务工厂和回调创建异步方法

xml - 将多个基于 cmdlet xml 的帮助文件写入单个 xml 文件

c# - 当循环条件为日期时图形不绘制。 C#, 窗体

powershell - 使用 powershell 将现有 API 添加到 Azure API 管理服务