如何在PowerShell中将命名参数定义为[ref]

戴维·克莱姆普夫纳

我正在尝试使用[ref]命名参数。但是,我得到一个错误:

workflow Test
{
    Param([Parameter(Mandatory=$true)][String][ref]$someString)

    write-verbose $someString -Verbose
    $someString = "this is the new string"
}

cls
$someString = "hi"
Test -someString [ref]$someString
write-host $someString

#Error: Cannot process argument transformation on parameter 'someString'. Reference type is expected in argument.

我该如何解决这个问题?

扬·乔博卡(Jan Chrbolka)

我注意到您在[ref]参数的示例中使用的是“工作流”。为简单起见,我们将其称为“功能”,稍后再返回“工作流程”。

您需要在代码中更改三件事:

  1. 将[ref]参数传递给函数时,需要将参数括在括号中()
  2. 在函数中使用[ref]参数时,请参考$ variable.value
  3. 从参数定义中删除[string]类型。它可以是[string]或[ref],但不能两者都选。

这是有效的代码:

function Test
{
    Param([Parameter(Mandatory=$true)][ref]$someString)

    write-verbose $someString.value -Verbose
    $someString.value = "this is the new string"
}
cls
$someString = "hi"
Test -someString ([ref]$someString)
write-host $someString

至于“工作流程”。它们非常受限制,请阅读《PowerShell工作流:限制》特别是,您不能在工作流中的对象上调用方法。这会中断:

$someString.value = "this is the new string"

由于工作流程的限制,我认为在工作流程中使用[ref]参数不切实际。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Spring RequestBody中将参数定义为Not Null?

来自分类Dev

如何在LightInject中将参数传递给命名服务?

来自分类Dev

如何在上下文文件中将字符串数组定义为环境参数/变量?

来自分类Dev

如何在上下文文件中将字符串数组定义为环境参数/变量?

来自分类Dev

如何在PowerShell中将DateTime作为参数传递?

来自分类Dev

如何在Powershell中将参数传递给批处理

来自分类Dev

如何在PowerShell脚本中将参数传递给命令?

来自分类Dev

如何在以函数为参数的函数的参数内定义函数

来自分类Dev

如何在以函数为参数的函数的参数内定义函数

来自分类Dev

如何在MATLAB中将参数传递给约束定义函数?

来自分类Dev

如何在Bash中将目录设置为参数

来自分类Dev

如何在Slim中将可选参数构建为问号?

来自分类Dev

如何在OpenCart中将错误的参数修复为mail()错误?

来自分类Dev

如何在SQL查询中将列名设置为参数?

来自分类Dev

如何在Spring jdbcTemplate中将Array / List设置为参数?

来自分类Dev

如何在Julia中将参数明确键入为函数

来自分类Dev

如何在SwiftUI中将View设置为参数

来自分类Dev

如何在SSRS中将列表创建为参数?

来自分类Dev

如何在Angular中将JSON对象存储为函数参数

来自分类Dev

如何在SQL查询中将列名设置为参数?

来自分类Dev

如何在Rails中将变量分配为路径参数?

来自分类Dev

如何在Java中将变量设置为传入参数?

来自分类Dev

如何在 JavaScript 中将外部函数设置为函数的参数?

来自分类Dev

如何在Powershell中将Ctrl + /分配为KeyGesture

来自分类Dev

如何在Powershell中将Ctrl + /分配为KeyGesture

来自分类Dev

PowerShell中的命名参数显示为“位置”

来自分类Dev

PowerShell中的命名参数显示为“位置”

来自分类Dev

如何在Maven中将parent-version定义为属性?

来自分类Dev

如何在XML模式中将xsi:type定义为属性?

Related 相关文章

  1. 1

    如何在Spring RequestBody中将参数定义为Not Null?

  2. 2

    如何在LightInject中将参数传递给命名服务?

  3. 3

    如何在上下文文件中将字符串数组定义为环境参数/变量?

  4. 4

    如何在上下文文件中将字符串数组定义为环境参数/变量?

  5. 5

    如何在PowerShell中将DateTime作为参数传递?

  6. 6

    如何在Powershell中将参数传递给批处理

  7. 7

    如何在PowerShell脚本中将参数传递给命令?

  8. 8

    如何在以函数为参数的函数的参数内定义函数

  9. 9

    如何在以函数为参数的函数的参数内定义函数

  10. 10

    如何在MATLAB中将参数传递给约束定义函数?

  11. 11

    如何在Bash中将目录设置为参数

  12. 12

    如何在Slim中将可选参数构建为问号?

  13. 13

    如何在OpenCart中将错误的参数修复为mail()错误?

  14. 14

    如何在SQL查询中将列名设置为参数?

  15. 15

    如何在Spring jdbcTemplate中将Array / List设置为参数?

  16. 16

    如何在Julia中将参数明确键入为函数

  17. 17

    如何在SwiftUI中将View设置为参数

  18. 18

    如何在SSRS中将列表创建为参数?

  19. 19

    如何在Angular中将JSON对象存储为函数参数

  20. 20

    如何在SQL查询中将列名设置为参数?

  21. 21

    如何在Rails中将变量分配为路径参数?

  22. 22

    如何在Java中将变量设置为传入参数?

  23. 23

    如何在 JavaScript 中将外部函数设置为函数的参数?

  24. 24

    如何在Powershell中将Ctrl + /分配为KeyGesture

  25. 25

    如何在Powershell中将Ctrl + /分配为KeyGesture

  26. 26

    PowerShell中的命名参数显示为“位置”

  27. 27

    PowerShell中的命名参数显示为“位置”

  28. 28

    如何在Maven中将parent-version定义为属性?

  29. 29

    如何在XML模式中将xsi:type定义为属性?

热门标签

归档