今朝久しぶりにPowerShellのコードを書こうとしたらいろいろ忘れてたので備忘録
型を調べる
$flen_values.GetType()
たとえばこんなコードであれば
$file = "sample.jpg" [void][Reflection.Assembly]::LoadWithPartialName("System.Drawing") $image_exif = New-Object System.Drawing.Bitmap($file) $flen_values = ($image_exif.PropertyItems | Where-Object { $_.Id -eq 41989 }).Value $flen_values.GetType()
IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Byte[] System.Array
こうなって、Byteの配列だとわかる。
プロパティやメソッドを調べる
Byte[]ならリファレンスとか見ればわかるだろうけど、自作(多作)のオブジェクトとかだと・・・みたいなとき
$flen_values | Get-Member
Get-Memberにパイプする。
すると、そのオブジェクトが持っているメソッドやプロパティの一覧がわかる。
TypeName : System.Byte
Name : CompareTo
MemberType : Method
Definition : int CompareTo(System.Object value), int CompareTo(byte value), int IComparable.CompareTo(Syst
em.Object obj), int IComparable[byte].CompareTo(byte other)
TypeName : System.Byte
Name : Equals
MemberType : Method
Definition : bool Equals(System.Object obj), bool Equals(byte obj), bool IEquatable[byte].Equals(byte othe
r)
:
:
Get-Memberはgmという名前でもエイリアス登録されているので、
$flen_values | gm
も等価