当我发现这篇博文建议我做以下事情时,我一直在寻找一种在powershell中创建所需参数的方法:
param(
[string] $ObjectName = $(Throw "Parameter -ObjectName must be set to the name of a database object")
);
Run Code Online (Sandbox Code Playgroud)
在消化了一段时间之后,我得出的结论是抛出ArgumentException而不是字符串可能会更好:
param(
[string] $ObjectName = $(Throw New-Object System.ArgumentException "Parameter -ObjectName must be set to the name of a database object","ObjectNamt")
);
Run Code Online (Sandbox Code Playgroud)
现在从C#的角度来看,后者会更好.这种做法是否有任何原因无法在powershell中翻译?
Sha*_*evy 10
在PowerShell 2.0中,您可以将参数标记为Manadatory,并让PowerShell为您完成工作:
Param(
[Parameter(Mandatory=$true,
Position=0,
HelpMessage='ObjectName must be set to the name of a database object')]
[string]
$ObjectName
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5172 次 |
| 最近记录: |