ScriptMethod、そういうのもあるのか
PS> function Math() {
$obj = New-Object psobject
$obj | Add-Member -MemberType ScriptMethod -Name Add -Value {
param([int] $m, [int] $n)
return $m + $n
}
$obj | Add-Member -MemberType ScriptMethod -Name Multiply -Value {
param([int] $m, [int] $n)
return $m * $n
}
$obj | Add-Member -MemberType ScriptProperty -Name x -Value {100}
$obj | Add-Member -MemberType ScriptMethod -Name Multiply100 -Value {
param([int] $m)
return $m * $this.x # $thisなんてあるんね
}
return $obj
}
PS> $math = Math
PS> $math.Add(1, 2)
3
PS> $math.Multiply100(6)
600