如何使用我自己的 cmdlet(使用 C#)使用两个强制但互斥的输入参数?

问题描述 投票:0回答:1

我正在使用 C# 开发 PowerShell Cmdlet。我想定义强制参数,但它们是互斥的。

示例:

Parameter A
Parameter B

调用命令时,我必须仅设置参数 A 或仅设置参数 B,但不能同时设置,也不能不设置。

c# powershell-cmdlet
1个回答
0
投票

您想使用参数集。您可以将它们视为 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

© www.soinside.com 2019 - 2024. All rights reserved.