お世話になっております。
最近、PowerShellの勉強をしているのですが、以下のようなスクリプトを
記述すると、VSCode上でタイトルのような警告メッセージが表示されます。
しかし、-ne
をフィルターとして使いたいので、警告通り左右を入れ替えるわけにはいきません。
powershell
1# 空白行を削除する 2$delList = New-Object System.Collections.ArrayList 3for ($i = 0; $i -lt $dstList.Count; $i++){ 4 $temp = $dstList[$i].Trim() 5 if ($temp -eq "") { 6 $delList.Add($i) | Out-Null 7 } 8} 9 10# 逆順にスキャンして要素を削除($nullをセット)していく 11for ($i = $delList.Count - 1; $i -ge 0; $i--) { 12 $dstList[$delList[$i]] = $null 13} 14 15# 配列の要素に$nullが入っているものをカットする 16$dstList = $dstList -ne $null
一応、実行はできるのですが何となく気持ち悪いので警告メッセージを出ないように
したいのですが、いろいろ調べてみたのですがうまくいきません。
まず、スクリプトの先頭行に以下のような記述をしてみました。
powershell
1[Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSPossibleIncorrectComparisonWithNull")]
このようにすると、警告メッセージは表示されなくなったのですが、
実行すると以下のようなエラーになってしまいます。
powershell
1Cannot find an overload for ".ctor" and the argument count: "1". 2At C:\Users\nsnhr\Documents\Visual Studio Code\PowerShell\Rename.ps1:1 char:1 3+ [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSPossibleIncorre ... 4+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5+ CategoryInfo : NotSpecified: (:) [], MethodException 6+ FullyQualifiedErrorId : MethodCountCouldNotFindBest
また、$dstList = $dstList -ne $null
の直上に記述すると、警告メッセージは消えません。
どのようにすれば、警告メッセージを抑止できるのでしょうか?
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー