我有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
这不起作用。
答案 0 :(得分:1)
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
)。还要注意,只在[ref]
块中声明param
类型。更多细节:
希望有所帮助
<强>更新强>
您必须使用ref关键字调用您的测试方法 - &gt;使用[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
答案 1 :(得分:0)
使用class时使用[ref]
:
class tst
{
static test([ref]$param)
{
$param.Value = "world "
}
}
$test = "ddd"
$test
[tst]::test([ref]$test)
$test