У вас есть синтаксическая ошибка при вызове Get-Content
:
Get-Content [OpPrj]::configFile
Синтаксический анализатор PowerShell не может определить, где это заканчивается (я не уверен в причине), поэтому вам нужно явно обернутьэто в скобках (я также рекомендую четко указывать параметр, который вы передаете, особенно в сценариях, для удобства чтения):
Get-Content -Path ([OpPrj]::configFile)
Вам нужно будет следовать этому синтаксису для перечислений и статических членов класса.
Всего (ваш звонок на Out-String
не нужен):
class OpPrj
{
[string] $ProjectPath
static [string] $ConfigFile = 'settings.json'
static [OpPrj] GetSettings()
{
return [OpPrj](Get-Content -Path ([OpPrj]::ConfigFile) -Raw | ConvertFrom-Json)
}
}