Powershell - 可设置的NoteProperty

时间:2012-10-16 03:40:50

标签: powershell powershell-v2.0

在我的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应该是可设置的,因为文档说的是静态值。但是,我该如何编辑/更新该属性?我做错了什么?

1 个答案:

答案 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(但是你不应该得到第二条错误消息,我猜)。