PowerShell では、関数のパラメーターに特定の属性をつけることで、内容に宣言的に制限をかけることができます。 宣言的にというのが重要で、つまり、パラメーターの内容をチェックするためのコードを書かなくてもよいということです。 本記事では、そうした属性についてまとめます。 前置き 以下の文中で「参照型」と言う場合、.NET Framework における一般的な意味での参照型を指し、 配列型 型指定していない場合(object 型) を含みますが、string 型を含まないものとします。 .NET の常識からすると意外なことですが、PowerShell の string 型は $null を保持することができません。 $null を代入すると空文字列に変換されます。 PS > [string] $str = $null PS > $str.Length 0 PS > $str | gm