小编Xav*_*ève的帖子

有没有正确的方法在 Powershell 5 类中创建 scriptproperty

在 5 之前的 Powershell 版本中,可以使用New-Object “随时随地”创建对象,并可以使用Add-Member进行扩展。Powershell 5 引入了类,但似乎它们只允许基本属性和方法。是否有任何正确的方法可以模拟脚本属性(即,一种被视为属性,而不是方法,但仍然在运行中计算的属性)?

由于构造函数中的 hack,以下代码给出了想要的结果。这种黑客攻击可以避免吗?

class fakescriptproperty {
    hidden [datetime] _currenttime() { return ( Get-Date ) }

    fakescriptproperty() {
        Add-Member -InputObject $this -MemberType ScriptProperty `
            -Name currenttime -Value { $this._currenttime() }
    }
}

$test = New-Object -TypeName fakescriptproperty
$test.currenttime
Run Code Online (Sandbox Code Playgroud)

powershell object

6
推荐指数
1
解决办法
1536
查看次数

标签 统计

object ×1

powershell ×1