たまにはね、会社ブログの報告ばかりじゃなくて、自前の記事も書きましょうね。
リハビリというわけじゃないですが、軽めの記事をひとつ。
よくある話
PowerShell Cmdlet で、あるパラメーターが指定されているかどうかで処理を分けることはよくあります。
スクリプトだと $PSBoundParameters を見て判断するんですが、C# では PSCmdlet.MyInvocation.BoundParameters を使って実現できます。
ただ、この辞書にアクセスするのに、パラメーター名を文字列で指定しなければいけないというのはよろしくありません。
基本的に、リテラルは書いたら負けです。許容できても一度までです。
というわけで、こんな拡張メソッドを作っておくと、タイプミスもなくせて大変便利です。
PowerShell Cmdlet では、パラメーター名はメンバー名ですからね。