【发布时间】:2020-08-24 07:29:09
【问题描述】:
PS版本:5.1.17134.858
我没有对 Powershell 的类做很多工作,但这里有一个简单的例子来说明我遇到的问题:
class xNode{
[uint64]$MyID=0
static [uint64]$ClassID=0
xNode(){
$MyID = [xNode]::ClassID++
}
[String] ToString(){return "xNode: $MyID"}
}
不解析它给出了两个错误:
第 6 行 $MyID..., "Cannot assign property, use '$this.MyID'."
第 9 行 ..$MyID", "变量没有在方法中赋值。”
我正在尝试使用名为 $MyID 的类属性,这种用法似乎与帮助文档 get-help about_Classes 中给出的示例一致,当我将它们的整个示例复制到最后时文件然后尝试运行它我也遇到了同样的错误$Head,$Body,$Title,...当然我可以通过添加this.来强制它工作
class xNode{
[uint64]$MyID=0
static [uint64]$ClassID=0
xNode(){
$this.MyID = [xNode]::ClassID++
}
[String] ToString(){return "xNode: $($this.MyID)"}
}
但是我宁愿不必一直在整个地方输入this.,是否可能有一些环境设置或我忽略的东西?
(注意:要让它在命令行中工作,我还需要删除所有的空行)
【问题讨论】:
标签: powershell class methods properties powershell-5.0