PowerShell の便利さをしって最近よく使っていますが、static なメンバにアクセスする方法がわからなかったので、メモを記載します。
動作確認環境は PowerShell 1.0 です。
1. スタティックメンバ、 スタティックプロパティにアクセスする
.NET Framework のstatic なメンバにアクセスするには型リテラルを使用します。System.Mathクラスの数学メソッドを使用する場合は、::演算子を使用して[System.Math]::Abs(-1) のように記述します。static メンバの呼び出しサンプルを記載します。[math] は PowerShell のSystem.Mathの型エイリアスです。
PS C:\> [System.Math]::PI 3.14159265358979 PS C:\> [System.Math]::Abs(-1) 1 PS C:\> [math]::Max(@(1,2,3,4,5)) PS C:\> [math]::Max(1,2) 2
スタティックなメンバの一覧は Get-Member コマンドレットで取得できます。下記サンプルは出力結果です。一部省略しています。
PS C:\> [math] | get-member -static TypeName: System.Math Name MemberType Definition ---- ---------- ---------- Abs Method static System.SByte Abs(SByte value) Acos Method static System.Double Acos(Double d) Asin Method static System.Double Asin(Double d) Atan Method static System.Double Atan(Double d)
2. まとめ
説明は以上です。間違い、指摘点などがあればご指摘ください。