如果我想与class
和Set-StrictMode -version 2
一起使用Powershell 全局变量,我该怎么做?
Set-StrictMode -version 2
class MyClass{
[string] MyMethod(){
$x = $ErrorActionPreference
...
Powershell抱怨
$x = $ErrorActionPreference
Variable is not assigned in the method.
答案 0 :(得分:2)
在StrictMode 2中,这种分配被认为是有害的。$ErrorActionPreference
没有在类/函数范围内声明。在global scope中可用。
您的示例在严格模式2下有效,如下所示:
Set-StrictMode -Version 2
class MyClass {
[string] MyMethod(){
$x = $global:ErrorActionPreference
return $x
}
}
[MyClass]::new().MyMethod()