我想遍历静态类的属性。 [EnvDTE.Constants] | get-member -static | where-object {$_.MemberType -eq "Property" -and $_.Name -like 'vsP*'}
而不是然后手动输入名称,例如: [EnvDTE.Constants]::vsProjectItemKindMisc
尝试过:
| Select-Object {$_.Value}
| Select-Object {$([EnvDTE.Constants]::$_.Name)}
| Invoke-Expression "[EnvDTE.Constants]::$_.Name"
您可以使用.NET BCL路由:
[EnvDTE.Constants].UnderlyingSystemType.GetFields('Static,Public').Where({$_.Name -match 'vsP*'}).Foreach({$_.Name + " = " + $_.GetValue($null)})
也许还有一些PowerShelly:
[EnvDTE.Constants].UnderlyingSystemType.GetFields('Static,Public') |
Where Name -match vsP* | Foreach {$_.Name + " = " + $_.GetValue($null)}
要么:
[EnvDTE.Constants] | gm -static -MemberType Property -Name vsP* |
Foreach { invoke-expression "'$($_.Name) = ' + [$($_.TypeName)]::$($_.Name)" }
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句