class - 引用 PowerShell 类中另一个属性的属性

标签 class powershell object

类中的属性是否可以引用另一个?例如,像这样的东西。我已经尝试了几种方法,但我现在不确定是否可以这样做...:

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/

相关文章:

c++ - 没有匹配的调用函数,但从未调用过那个确切的函数

Azure Function PowerShell 检索和解析 HTTP POST 触发器正文

powershell - 如何在 powershell 构建过程中对 javascript 和 css 文件进行版本控制?

常量与静态常量

Python改变B类中的类实例变量

ios - 在 "class func"方法中获取 Swift 类名

class - 使用 class 属性而不是 JSF 组件的 styleClass 确实有效,为什么?

python - 在同一个类中定义之前使用另一个方法中的方法?

powershell - PowerShell 中 Active-Directory Get-ADComputer 的 LDAP 查询

javascript - 检查对象是否具有用户定义的原型(prototype)?