如果您知道原因,如何使警告静音或什至更好:已分配但从不

Chr*_* G. 3 powershell

$global:ProjectName = $null

function RunFirst(){
  RunSecund
  Write-Host $global:ProjectName
}

function RunSecund(){
    $global:ProjectName = "a name"
}
Run Code Online (Sandbox Code Playgroud)

在 RunSecund 我得到:

变量“ProjectName”已分配但从未使用。PSScriptAnalyzer(PSUseDeclaredVarsMoreThanAssignments)

Mat*_*sen 10

很简单,不要使用全局变量!

虽然,如果必须,您可以使用以下命令抑制 PSSA 警告SuppressMessageAttribute:

function RunSecund(){
    [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUserDeclaredVarsMoreThanAssignments', '', Scope='Function')]
    $global:ProjectName = "a name"
}
Run Code Online (Sandbox Code Playgroud)