2012-10-16 6 views
0

, 내가 NoteProperties와 사용자 정의 개체를 만드는거야 설정 가능 NoteProperty :파워 쉘 - 내 PowerShell 스크립트에서

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

그러나 나중에 코드에서 내가 수행해야하는에

$foo.Something = 10 

을 줄, 오류 메시지가 나타납니다

속성 '이 개체에서'찾을 수 없습니다; 그것이 존재하고 설정 가능한지 확인하십시오. 에서 ... + CategoryInfo : InvalidOperation : (CoreMajor : 문자열) [], RuntimeException을 + FullyQualifiedErrorId : PropertyNotFound

그래서 내가 추측하고있어 NoteProperty이 문서는 정적 값 말부터 설정할 수 있어야한다. 그런데 어떻게 속성을 편집/업데이트 할 수 있습니까? 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+1

비고 2. 1) 문제가 재현되지 않고 '무언가'라는 속성이 존재하며 설정이 가능합니다. 2) 아마도'-value [int] dataRow [ "Field"]'에 실수가 있습니다. 인수를 괄호 안에 사용해야합니다. 그렇지 않으면 전체 인수가'[int] dataRow [Field] '문자열로 처리됩니다. 즉, 예상대로 평가되지 않습니다. –

답변

1

변경이 줄 때문에 구문 오류의

$foo | Add-Member -type NoteProperty -name Something -value ([int]$dataRow["Field"]) 

$foo | Add-Member -type NoteProperty -name Something -value [int]dataRow["Field"] 

는 속성 뭔가가 처음에 만들어지지 않았다. $ErrorActionPreference이 SilentlyContinue로 설정된 경우를 제외하고는 오류가 발생 했어야합니다 (그러나 두 번째 오류 메시지가 표시되지 않아야합니다).