I keep getting errors when running the code below. I don't understand what I'm doing wrong
ERROR 1: You cannot call a method on a null-valued expression. At line:25 char:9
ERROR 2: Cannot index into a null array. At line:43 char:1
CODE:
Class Step {
[int]$StepNumber = 0
[string]$Name = ''
[string]$ScriptFile = ''
[int]$status = 0 # 0 = 'InComplete', 1 = 'Complete', 2 = 'Failed', -1 = 'Skipped'
[string]$DependencyStepNumber = -1
Step([string]$Name, [int]$StepNumber, [string]$ScriptFile) {
$this.Name = $Name
$this.StepNumber = $StepNumber
$this.ScriptFile = $ScriptFile
}
}
Class Guide {
[int]$StepNumberCounter = 0
[string]$Name = ''
[Step[]]$Steps
[int]AddStep([string]$Name, [string]$ScriptFile) {
$newStepNumber = $this.GetNewStepNumber()
$newStep = [Step]::new($Name, $newStepNumber, $ScriptFile)
line-25>>> $this.Steps.Add($newStep)
return $newStepNumber
}
[int]GetStepName([int]$StepNumber) {
return $this.Steps[$StepNumber-1]
}
[int]GetNewStepNumber() {
return $this.StepNumberCounter += 1
}
}
$Guide = [Guide]::new()
$Guide.AddStep('Step One','ScriptOne.ps1')
$Guide.AddStep('Step Two','ScriptTwo.ps1')
line-43>>> Write-Host $Guide.Steps[0]
Write-Host $Guide.Steps[1]