2016-11-13 2 views
0

У меня есть код C#, и я хочу найти альтернативу этого кода в PowerShell. Я нашел что-то вроде [ref]$parameter, но это не работает. Мой код:как я могу объявить параметр в powershell как C#

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

Что PowerShell код вы используете, что не работает? – BACON

+0

@BACON Я использую эту команду сверху. – saftargholi

+0

@ Энигматичность это не дублируется – saftargholi

ответ

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] $parameter). Будьте также осведомлены, чтобы объявлять только [ref] как тип в блоке param. Более подробная информация:

stackoverflow

ss64

надежда, что помогает

UPDATE

Вы имеете вызвать ваш метод испытания с реф ключевое слово -> использовать [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 
+0

Благодарю вас за ответ, но это не мой ответ. Я хочу объявить ref в классе и использовать его или класс. – saftargholi

+0

Извините, я понял это неправильно. Вы должны вызвать свой метод 'test' с помощью ключевого слова ** ref ** -> use' [tst] :: test ([ref] $ test) 'вместо' [tst] :: test ($ test) ' , – Moerwald

0

использование [ref] при использовании класса:

class tst 
{ 

    static test([ref]$param) 
    { 
     $param.Value = "world " 

    } 
} 

$test = "ddd" 
$test 

[tst]::test([ref]$test) 
$test 
Смежные вопросы