我正在使用 C# 开发 PowerShell Cmdlet。我想定义强制参数,但它们是互斥的。
示例:
Parameter A
Parameter B
调用命令时,我必须仅设置参数 A 或仅设置参数 B,但不能同时设置,也不能不设置。
您想使用参数集。您可以将它们视为 C# 重载函数。
[Cmdlet(...)]
public sealed class MyExample : Cmdlet
{
[Parameter(Mandatory = true, ParameterSetName = "only parameter A")]
public string ParameterA { get; set; }
[Parameter(Mandatory = true, ParameterSetName = "only parameter B")]
public string ParameterB { get; set; }
}
第一次发现这个作为另一个资源! https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/cmdlet-parameter-sets?view=powershell-7.4