Как применить Set-StrictMode 2 при использовании глобальных переменных - PullRequest
0 голосов
/ 24 сентября 2018

Если я хочу использовать глобальную переменную Powershell вместе с 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 Ответ

0 голосов
/ 24 сентября 2018

Этот вид назначения считается вредным в StrictMode 2. $ErrorActionPreference не объявлен в области видимости класса / функции.Он доступен в global scope .

Ваш пример, действительный в строгом режиме 2, должен выглядеть следующим образом:

Set-StrictMode -Version 2

class MyClass {
    [string] MyMethod(){
        $x = $global:ErrorActionPreference
        return $x
    }
}

[MyClass]::new().MyMethod()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...