PSVersion: 5.1.17134.858
Я не много работал с классами Powershell, но вот простой пример того, с чем я сталкиваюсь:
class xNode{
[uint64]$MyID=0
static [uint64]$ClassID=0
xNode(){
$MyID = [xNode]::ClassID++
}
[String] ToString(){return "xNode: $MyID"}
}
не 't parse выдает две ошибки:
строка 6 $ MyID ..., «Невозможно назначить свойство, используйте' $ 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.
повсюду, есть ли какие-то настройки среды или что-то, что я упустил?
(Примечание: чтобы заставить его работать в командной строке, мне также нужно было удалить все пустые строки)