Use-ClassAccessors
脚本来更轻松地定义类访问器(getter 和 setter)。
除了一个小限制之外,这工作得很好:需要从相关类所在的脚本文件中调用 Use-ClassAccessors
脚本,以便它可以加载该类的相关 AST 信息。不幸的副作用是,当我使用 VSCode 时,访问器并不总是重新加载到模块中。解决方法是“终止终端”并加载一个新终端。
模块 psd1
Use-ClassAccessors
调用包含类和 ScriptsToProcess
函数的脚本,但是当对类本身进行更改时,这显然不会重新加载。
Use-ClassAccessors
函数(如
此处所述),我可能能够解决此问题。 重点是我不知道如何获得 itself
类的 (AST) 源代码。 换句话说:
有没有一种方法可以从相关类中检索类自己的 ScriptBlock,就像我在函数中所做的那样:
function GetMyCode {
Write-Host 'My Source Code:'
$MyInvocation.MyCommand.ScriptBlock
}
$targetType = [TargetClass]
$accessorMethods = $targetType.GetMethods() |? Name -Like "?et_${PropertyName}"