如何最大程度简化PowerShell中同类型同属性的参数定义?
简化PowerShell函数Get-Info的参数定义
原参数定义(完整写法)
function Get-Info { [CmdletBinding()] param( [Parameter(Mandatory=$true, Position=0)] [string]$A, [Parameter(Mandatory=$true, Position=1)] [string]$B, [Parameter(Mandatory=$true, Position=2)] [string]$C, [Parameter(Mandatory=$true, Position=3)] [string]$D ) # 函数逻辑 }
简化后的参数定义
function Get-Info { [CmdletBinding()] param( [Parameter(Mandatory, Position=0)] [string]$A, [Parameter(Mandatory, Position=1)] [string]$B, [Parameter(Mandatory, Position=2)] [string]$C, [Parameter(Mandatory, Position=3)] [string]$D ) # 函数逻辑 }
简化说明
- 布尔型参数属性
Mandatory=$true可简化为仅写Mandatory,PowerShell会自动识别为$true - 移除参数间冗余空行,在保持代码紧凑的同时不损失可读性
- 完整保留了所有要求的属性:必填约束、
string类型、显式Position定位
内容的提问来源于stack exchange,提问作者Ichigo Kurosaki
相关产品推荐
相关产品推荐

