1

在我的 PowerShell 脚本中,我正在使用 NoteProperties 创建一个自定义对象:

$foo = New-Object System.Object
$foo | Add-Member -type NoteProperty -name Something -value [int]dataRow["Field"]

但后来在代码中,我需要这样做:

$foo.Something = 10

在那一行,我收到错误消息

在此对象上找不到属性“某物”;确保它存在并且是可设置的。在... + CategoryInfo : InvalidOperation: (CoreMajor:String) [], RuntimeException + FullyQualifiedErrorId : PropertyNotFound

所以我猜 NoteProperty 应该是可设置的,因为文档说的是静态值。但是,我该如何编辑/更新属性?我究竟做错了什么?

4

1 回答 1

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 (但我猜你也不应该收到第二条错误消息)。

于 2013-03-29T13:39:31.380 回答