Powershell: Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ собствСнности

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 25 ΠΎΠΊΡ‚. 2017  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: PowerShell/PowerShell

РСзюмС

Π‘Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли Π±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свойство ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, Π³Π΄Π΅ это свойство само являСтся Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ) для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

function Test-Demo {
    [CmdletBinding()]
    Param (
        [Parameter()]
        [string]$One
        ,
        [Parameter()]
        [string]$Two
    )
    "1 = $One"
    "2 = $Two"
}
$test = @{
    testInt = @{ 
        One = '1'
        Two = '2'
    }
    testString = @{
        One = 'One'
        Two = 'Two'
    }
}

#to splat a property, we first need to assign the property to a "top level" variable:
$t = $test.testString
Test-Demo <strong i="10">@t</strong> 

#however it would be nice if we could instead do this:
Test-Demo @test.testString 

#or if that's not possible for some reason, maybe something like this:
Test-Demo ([splat]$test.testString)

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. НапримСр, наша конфигурация содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… (экзСмпляр, ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅), Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ свойствами, спСцифичными для Π½Π°ΡˆΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€

$config = Get-MyScriptConfig -Path '.\Config.xml'
Invoke-Something @config.DatabaseConnectionInfo @config.Something
Issue-Question Resolution-Answered

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠŸΠΎΡ…ΠΎΠΆΠ΅, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²ΠΎΠ·Ρ€ΠΎΠ΄ΠΈΡ‚ΡŒ https://github.com/PowerShell/PowerShell-RFC/issues/6 - Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ RFC ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΠΎΠ΅ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с синтаксисом Π²Ρ€ΠΎΠ΄Π΅:

Test-Demo @$test.testString

ВсС 3 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠŸΠΎΡ…ΠΎΠΆΠ΅, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²ΠΎΠ·Ρ€ΠΎΠ΄ΠΈΡ‚ΡŒ https://github.com/PowerShell/PowerShell-RFC/issues/6 - Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ RFC ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΠΎΠ΅ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с синтаксисом Π²Ρ€ΠΎΠ΄Π΅:

Test-Demo @$test.testString

@JohnLBevan МоТСм Π»ΠΈ ΠΌΡ‹ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ https://github.com/PowerShell/PowerShell-RFC/issues/6 ?

@iSazonov ; Π΄Π°, Ρ€Π°Π΄, Ρ‡Ρ‚ΠΎ это Π·Π°ΠΊΡ€Ρ‹Π»ΠΈ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это ΡƒΠΆΠ΅ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΎ Ρ‚Π°ΠΌ. Бпасибо.

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ