複数の可能なパラメーターを持つカスタム PowerShell 関数を作成しています。
function foo {
param(
[Parameter(Mandatory=$true)]
[string]$param1_A,
[Parameter(Mandatory=$true)]
[int]$param1_B,
[Parameter(Mandatory=$true)]
[string]$param2_A,
[Parameter(Mandatory=$true)]
[int]$param2_B
)
}
基本的に、相互に排他的なパラメーターのセットが 2 つあります。$param1_A
またはのいずれかを指定できます$param1_B
が、両方を指定することはできません。$param2_A
またはのいずれかを指定することもできます$param2_B
が、両方を指定することはできません。
要約すると、可能な呼び出しの表は次のとおりです。
- foo -param1_A -param2_A
- foo -param1_B -param2_A
- foo -param1_A -param2_B
- foo -param1_B -param2_B
いずれの場合も、パラメータの少なくとも 1 つが必須です。
この要件を適用するためにパラメーターを宣言するにはどうすればよいですか?
さまざまなパラメーター セットを使用しようとしましたが、成功しませんでした。少なくとも 1 つのパラメーターの概念を説明する方法が見つからなかったからです。
それが役立つ場合は、 と に変換できるユーティリティ関数があり$param1_A
ます。$param1_B
$param2_A
$param2_B