如何像c#一样在powershell中声明out in参数
本文关键字:powershell 声明 out 参数 in 一样 何像 | 更新日期: 2023-09-27 18:17:44
我有c#代码,我想在PowerShell中找到这个代码的替代方案。我发现了类似[ref]$parameter
的东西,但它不起作用。我的代码是:
private static bool testfunction(string param1, out string param 2)
{
param1 = "";
param2 += "Hello";
return true;
}
请给我PowerShell中的替代代码。
我试试这个:
class tst
{
static test([ref]$param)
{
$param.Value = "world "
}
}
$test = "ddd"
$test
[tst]::test($test)
$test
function testfunction {
param (
[string]
$param1,
[ref]
$param2
)
$param2.value= "World"
return $true
}
PS C:'> $hello = "Hello"
PS C:'> testfunction "someString" ([ref]$hello)
True
PS C:'> $hello
World
Powershell支持ref参数。一定要调用括号中的ref形参(例如([ref] $parameter
)。还要注意只在param
块中将[ref]
声明为类型。进一步的细节: stackoverflowss64
希望对你有帮助
你必须调用你的测试方法与ref关键字->使用[tst]::test([ref]$test)
而不是' [tst]::test($test)
PS C:'> $test = "ddd"
PS C:'> $test
ddd
PS C:'> [tst]::test([ref]$test)
PS C:'> $test
world
使用[ref]
class tst
{
static test([ref]$param)
{
$param.Value = "world "
}
}
$test = "ddd"
$test
[tst]::test([ref]$test)
$test