在我的PowerShell脚本中,我正在使用NoteProperties创建一个自定义对象:
$foo = New-Object System.Object
$foo | Add-Member -type NoteProperty -name Something -value [int]dataRow["Field"]
但后来在代码中,我需要这样做:
$foo.Something = 10
在该行上,我收到错误消息
在此对象上找不到属性'Something';确保它存在且可设置。 在 ... + CategoryInfo:InvalidOperation:(CoreMajor:String)[],RuntimeException + FullyQualifiedErrorId:PropertyNotFound
所以我猜测NoteProperty应该是可设置的,因为文档说的是静态值。但是,我该如何编辑/更新该属性?我做错了什么?
答案 0 :(得分:1)
更改此行
$foo | Add-Member -type NoteProperty -name Something -value [int]dataRow["Field"]
用这个
$foo | Add-Member -type NoteProperty -name Something -value ([int]$dataRow["Field"])
由于语法错误,首先从未创建Something属性。你应该得到一个错误,除非你的$ErrorActionPreference
设置为SilentlyContinue(但是你不应该得到第二条错误消息,我猜)。