0

我有一类具有状态消息的默认值:

class DeploymentState {
    [string] $StatusMessage

    DeploymentState() {
        $this.StatusMessage = "initial status."
    }    
}

我有第二类,它引用了第一类:

class Component {

[DeploymentState] $dstate

}
$c=[Component]::new()
$c.dstate.StatusMessage

我没有得到任何输出?帮助 - 我错过了什么?即使我实例化该类,结果也是一样的:

$dstate=[DeploymentState]::new()
$c.dstate.StatusMessage

谢谢

4

1 回答 1

0

尝试这个

class DeploymentState {
    [string] $StatusMessage = "initial status."

    DeploymentState([string]$status) {
        $this.StatusMessage = $status
    }    

    DeploymentState() {
    }    
}

您还需要在 Component 类中创建一个构造函数,在其中创建 $dstate 属性的新实例,否则它将为空,这就是没有输出的原因。

class Component {

    [DeploymentState] $dstate

    Component() {
        $this.dstate = [DeploymentState]::new()
    }
}

现在下面给你一个结果

$c=[Component]::new()
$c.dstate.StatusMessage

这个也是

$dstate=[DeploymentState]::new()
$dstate.StatusMessage
于 2020-06-21T19:03:03.303 回答