2016-12-02 4 views

Répondre

1
Class Foo { 
    [String] $Version 

    GetVersion() { 
     if ($global:PSVersionTable) { 
      $this.Version = $global:PSVersionTable.PSVersion 
     } 
    } 
} 

$foo = [Foo]::new() 

$foo.GetVersion() 

Write-Host $foo.Version 

Pour le "pourquoi" partie, je suppose que cela est lié à la portée. Dans votre classe, vous devez spécifier d'une manière ou d'une autre que vous faites référence à la variable globale $PSVersionTable, et non à quelque chose dans la classe ou la portée du script.