PowerShell:每个参数集必须至少具有一个对该参数集唯一的参数

此“规则”在PowerShell文档中进行了说明,例如在此处但是,我不确定我是否正确解释了它。以下似乎对我来说很好。

function Test-ParameterSets
{
    param(
    [Parameter(Position = 0, ParameterSetName = "NameName")] 
    [Parameter(Position = 0, ParameterSetName = "NameId")] 
    [string] $A_by_Name, 

    [Parameter(Position = 0, ParameterSetName = "IdName")] 
    [Parameter(Position = 0, ParameterSetName = "IdId")] 
    [int] $A_by_Id,

    [Parameter(Position = 1, ParameterSetName = "NameName")] 
    [Parameter(Position = 1, ParameterSetName = "IdName")] 
    [string] $B_by_Name,

    [Parameter(Position = 1, ParameterSetName = "NameId")] 
    [Parameter(Position = 1, ParameterSetName = "IdId")] 
    [int] $B_by_Id
    )

    write-host "Hello"
}

我误会了吗?还是规则过时了?

基思·希尔

您还没有走好榜样:

function Test-ParameterSets
{
    param(
    [Parameter(Position = 0, ParameterSetName = "NameName")] 
    [Parameter(Position = 0, ParameterSetName = "NameId")] 
    [string] $A_by_Name, 

    [Parameter(Position = 0, ParameterSetName = "IdName")] 
    [Parameter(Position = 0, ParameterSetName = "IdId")] 
    [int] $A_by_Id,

    [Parameter(Position = 1, ParameterSetName = "NameName")] 
    [Parameter(Position = 1, ParameterSetName = "IdName")] 
    [string] $B_by_Name,

    [Parameter(Position = 1, ParameterSetName = "NameId")] 
    [Parameter(Position = 1, ParameterSetName = "IdId")] 
    [int] $B_by_Id
    )


    "ParametetSetName is $($PSCmdlet.ParameterSetName)"
}

输出:

Test-ParameterSets : Parameter set cannot be resolved using the specified named parameters.
At line:25 char:1
+ Test-ParameterSets
+ ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Test-ParameterSets], ParameterBindingException
    + FullyQualifiedErrorId : AmbiguousParameterSet,Test-ParameterSets

当您具有不同的行为或使用不同的参数时,通常会使用ParamaterSetName,具体取决于函数用户正在使用的参数集。该规则是正确的。您可以使用DefaultParameterSetName属性的CmdletBinding属性来帮助PowerShell确定正在使用哪个参数集

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Isabelle函数为什么必须至少具有一个参数?

来自分类Dev

C#索引器必须至少具有一个参数

来自分类Dev

Isabelle函数为什么必须至少具有一个参数?

来自分类Dev

集合参数“foreignKeyPropertyNames”必须至少包含一个元素

来自分类Dev

重载运算符的模板:错误:重载的“ operator *”必须至少具有一个类或枚举类型的参数

来自分类Dev

在具有多个唯一开关的函数中使用高级参数集

来自分类Dev

Crystal Reports:一个参数集有效,而另一个无效

来自分类Dev

具有两个参数的Powershell函数给出一个参数

来自分类Dev

强制至少一个参数作为rest参数

来自分类Dev

如何确保类的每个方法都必须具有固定的参数集

来自分类Dev

有没有一种干净的方法来定义一个Java接口方法,该方法的每个实现类具有不同的参数?

来自分类Dev

未捕获的SyntaxError:Setter必须完全具有一个形式参数

来自分类Dev

如果方法的参数称为tail递归,则该方法是否具有一个方法调用?

来自分类Dev

Python argparse,具有两个可选参数,其中至少一个是强制性的

来自分类Dev

具有一个默认参数和一个变量参数的C ++构造函数

来自分类Dev

{{#each}}内的{{#if}},每个项目都有一个参数

来自分类Dev

为什么C ++运算符重载需要“至少具有一个类类型的参数”?

来自分类Dev

xargs-在每个参数后附加一个参数

来自分类Dev

具有零或一个参数的Sfinae函数

来自分类Dev

具有零或一个参数的Sfinae函数

来自分类Dev

具有一个参数的多个变量的函数

来自分类Dev

创建具有多个参数的命令选择一个

来自分类Dev

Room 和 Kotlin - 得到“查询中的每个绑定变量都必须有一个匹配的方法参数。”

来自分类Dev

将具有两个参数的函数转换为仅一个参数

来自分类Dev

具有两个参数和一个函数的参数图

来自分类Dev

Woocommerce - 的sizeof():参数必须是一个数组或一个对象,该器具可列

来自分类Dev

Python调用一个带有来自元组的参数的函数,该参数大于所需的参数数量

来自分类Dev

如何从具有参数的另一个函数中调用带有参数的函数?

来自分类Dev

必须具有返回类型或回调作为Android的最后一个参数Retrofit2?

Related 相关文章

  1. 1

    Isabelle函数为什么必须至少具有一个参数?

  2. 2

    C#索引器必须至少具有一个参数

  3. 3

    Isabelle函数为什么必须至少具有一个参数?

  4. 4

    集合参数“foreignKeyPropertyNames”必须至少包含一个元素

  5. 5

    重载运算符的模板:错误:重载的“ operator *”必须至少具有一个类或枚举类型的参数

  6. 6

    在具有多个唯一开关的函数中使用高级参数集

  7. 7

    Crystal Reports:一个参数集有效,而另一个无效

  8. 8

    具有两个参数的Powershell函数给出一个参数

  9. 9

    强制至少一个参数作为rest参数

  10. 10

    如何确保类的每个方法都必须具有固定的参数集

  11. 11

    有没有一种干净的方法来定义一个Java接口方法,该方法的每个实现类具有不同的参数?

  12. 12

    未捕获的SyntaxError:Setter必须完全具有一个形式参数

  13. 13

    如果方法的参数称为tail递归,则该方法是否具有一个方法调用?

  14. 14

    Python argparse,具有两个可选参数,其中至少一个是强制性的

  15. 15

    具有一个默认参数和一个变量参数的C ++构造函数

  16. 16

    {{#each}}内的{{#if}},每个项目都有一个参数

  17. 17

    为什么C ++运算符重载需要“至少具有一个类类型的参数”?

  18. 18

    xargs-在每个参数后附加一个参数

  19. 19

    具有零或一个参数的Sfinae函数

  20. 20

    具有零或一个参数的Sfinae函数

  21. 21

    具有一个参数的多个变量的函数

  22. 22

    创建具有多个参数的命令选择一个

  23. 23

    Room 和 Kotlin - 得到“查询中的每个绑定变量都必须有一个匹配的方法参数。”

  24. 24

    将具有两个参数的函数转换为仅一个参数

  25. 25

    具有两个参数和一个函数的参数图

  26. 26

    Woocommerce - 的sizeof():参数必须是一个数组或一个对象,该器具可列

  27. 27

    Python调用一个带有来自元组的参数的函数,该参数大于所需的参数数量

  28. 28

    如何从具有参数的另一个函数中调用带有参数的函数?

  29. 29

    必须具有返回类型或回调作为Android的最后一个参数Retrofit2?

热门标签

归档