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

如何在PowerShell类内部获取自身ScriptBlock,解决Use-ClassAccessors重载问题?

问题说明

几个月前我编写了一个小型的Use-ClassAccessors脚本,用于更便捷地定义类的访问器(getter和setter)。该脚本运行良好,但存在一个小限制:Use-ClassAccessors需要从包含目标类的脚本文件中调用,才能加载该类相关的AST信息。

在VSCode开发模块的过程中,访问器经常无法被重载,目前的解决方法只能是关闭终端后重新打开。

注:模块的psd1文件也通过ScriptsToProcess调用包含类和Use-ClassAccessors函数的脚本,但修改类后显然不会重新加载。

我怀疑如果能从静态构造函数中调用Use-ClassAccessors函数,或许能解决这个问题,但我不知道如何获取类自身的AST源代码。

换个问法:有没有办法像在函数中那样,在目标类内部获取该类自身的ScriptBlock?比如下面这个函数的实现方式:

function GetMyCode {
    Write-Host 'My Source Code:'
    $MyInvocation.MyCommand.ScriptBlock
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 13:04:59