是否有可能在类中引用另一个属性?例如,类似这样的东西。我已经尝试了几种方法,但现在不确定是否可以这样做...:
class TestClass {
[string]
$SQLInstanceName
[string]
$Server = "$($env:COMPUTERNAME)\$SQLInstanceName"
[string]myResult()
{
return $this.Server
}
}
....谢谢
最佳答案
是。这是在您的类定义中实现的:
class TestClass {
[string]
$SQLInstanceName
hidden $_Server = $($this | Add-Member ScriptProperty 'Server' `
{
# get
"$($env:COMPUTERNAME)\$($this.SQLInstanceName)"
}
)
[string]myResult()
{
return $this.Server
}
}
要查看此工作原理,请新建一个实例,然后为
SQLInstanceName
分配一个值。$c = [TestClass]::new()
$c.SQLInstanceName = 'MyDB'
然后调用
$c.Server
$c.myResult()
结果是
ComputerName\MyDB
ComputerName\MyDB
关于class - 引用PowerShell类中另一个属性的属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43394978/