代码之家  ›  专栏  ›  技术社区  ›  LosManos

如何在使用全局变量时强制设置StrictMode 2

  •  0
  • LosManos  · 技术社区  · 6 年前

    全局变量 一起 class Set-StrictMode -version 2 ,我该怎么做?

    Set-StrictMode -version 2
    class MyClass{
        [string] MyMethod(){
            $x = $ErrorActionPreference
             ...
    

    Powershell抱怨

    $x = $ErrorActionPreference
    Variable is not assigned in the method.
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   Paweł Dyl    6 年前

    这种分配在模式2中被认为是有害的。 $ErrorActionPreference global scope .

    您的示例在严格模式2中有效,应该如下所示:

    Set-StrictMode -Version 2
    
    class MyClass {
        [string] MyMethod(){
            $x = $global:ErrorActionPreference
            return $x
        }
    }
    
    [MyClass]::new().MyMethod()