You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell类中创建访问静态变量并实现实例计数功能

问题根因
  • PowerShell 命令参数的默认解析规则是:未被括号包裹的表达式会被视为字面量字符串处理。你在构造函数中写的write-host [ex1]::count没有加括号,所以程序直接输出了[ex1]::count这个字符串内容,而非静态变量的实际值。
  • 实际上你的静态变量$count已经按照预期完成了自增,只是输出环节不符合预期。
解决方法

只需要修改构造函数中Write-Host语句的写法,给要输出的表达式加括号,强制PowerShell先计算表达式结果再输出即可,修正后的完整代码如下:

class ex1 {
    static [int]$count = 0

    ex1() {
        [ex1]::count = [ex1]::count + 1
        # 给表达式加括号强制计算值
        write-host ([ex1]::count)
    }
}

$ex1 = [ex1]::new()
$ex2 = [ex1]::new()
$ex3 = [ex1]::new()
# 验证最终统计值,输出为3
write-host "总创建实例数:$([ex1]::count)"

exit 1

运行修正后的代码输出结果为:

1
2
3
总创建实例数:3

内容的提问来源于stack exchange,提问作者pico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 10:15:00