我正在尝试使 Powershell 模块与外部 API 一起使用。我有一个看起来像这样的自定义对象:
$Subscriber = New-Module -AsCustomObject -ScriptBlock {
[string] $EmailAddress=$null
[string] $Name=$null
[bool] $Resubscribe=$false
[bool] $RestartSubscriptionBasedAutoresponders=$false
Export-ModuleMember -Variable * -Function *
}
现在,我希望这个对象能够实现一个以 JSON 格式输出自身的函数。我知道这样做的正常方法是:$Subscriber | ConvertTo-Json
但相反,我希望这个对象按照这些思路实现一些东西:
$Subscriber = New-Module -AsCustomObject -ScriptBlock {
[string] $EmailAddress=$null
[string] $Name=$null
[bool] $Resubscribe=$false
[bool] $RestartSubscriptionBasedAutoresponders=$false
Function ToJson {
$this | ConvertTo-Json
}
Export-ModuleMember -Variable * -Function *
}
但我的问题是没有 $this 变量,我也无法找到有关任何其他方法的任何信息。我是否只是试图将 Powershell 滥用到根本不支持的程度?还是我只是错过了一些明显的东西?我愿意接受任何批评和建议:)