Я пытаюсь разобраться, что здесь происходит, и мне было интересно, знает ли кто-нибудь о ресурсе, который мог бы указать мне правильное направление, или мог бы объяснить это немного для меня.
Я пытаюсь создать переменную PSCustomObject, а затем ее члены, например:
$myObject += [PSCustomObject]@{
FirstName = 'Bill'
LastName = 'Bobbins'
Age = '30'
}
$myObject += [PSCustomObject]@{
FirstName = 'Ben'
LastName = 'Bobbins'
Age = '40'
}
Итак, первый бит кода выполняется нормально, но второй бит приводит к ошибке «Не удалось вызвать метод, поскольку [System.Management.Automation.PSObject] не содержит метод с именем« op_Addition ».» Кроме того, если я направлю $ myObject в get-member, я вижу, что $ myObject имеет тип TypeName: System.Management.Automation.PSCustomObject.
Теперь, если я сначала установлю $ myObject как пустой массив, и затем попробуйте добавить участников, я успешен. Этот код работает без ошибок:
$myObject=@()
$myObject += [PSCustomObject]@{
FirstName = 'Bill'
LastName = 'Bobbins'
Age = '30'
}
$myObject += [PSCustomObject]@{
FirstName = 'Ben'
LastName = 'Bobbins'
Age = '40'
}
Если я теперь направлю $ myObject в get-member, я все равно получу TypeName: System.Management.Automation.PSCustomObject. Итак, мой вопрос: почему мне разрешено добавлять несколько членов в $ myObject во втором примере, а не в первом, когда тип данных одинаков для обоих примеров?
Любая помощь очень ценится!
Спасибо