PowerShell 1.0では、enum型のコマンドレットパラメータがある場合、ユーザーがコマンドレットコマンドラインでそのパラメータを指定したかどうかをテストするための推奨方法は何ですか?例:PowerShellコマンドレットパラメータの値が指定されているかどうかを確認する方法を教えてください。
MyEnum : int { No = 0, Yes = 1, MaybeSo = 2 }
class DoSomethingCommand : PSCmdlet
...
private MyEnum isEnabled;
[Parameter(Mandatory = false)]
public MyEnum IsEnabled
{
get { return isEnabled; }
set { isEnabled = value; }
}
protected override void ProcessRecord()
{
// How do I know if the user passed -IsEnabled <value> to the cmdlet?
}
これは、isEnabledにダミー値を設定しなければならない方法はありますか?デフォルトでは0になり、すべてのパラメータを設定したり、列挙型にダミー値を追加する必要はありません。私は潜在的に多くのコマンドレットと100のパラメータを持っています。より良い方法が必要です。これはthis questionに関連していますが、私はこれを行うよりきれいな方法を探していました。おかげさまで
@Jackストロー あなたは、「パラメータの100年代と潜在的に持って多くのコマンドレット」を持っている場合は、その機能アップの一部を壊すで見たいと思うかもしれません。 PowerShellの主な利点の1つは検出可能性であり、多数のパラメータを持つことで、自己発見がはるかに難しくなります。 –
@スティーブン、申し訳ありませんが、誤解を招いているかもしれません.100種類のパラメータを持つ各コマンドレットではありません:)しかし、多くのパラメータをもたらす多くのコマンドレットです。ご意見ありがとうございます。 –