namespace AMWD.Common.Cli { /// /// Represents a logical argument in the command line. Options with their additional /// parameters are combined in one argument. /// [System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage] public class Argument { /// /// Initialises a new instance of the class. /// /// The that is set in this argument; or null. /// The additional parameter values for the option; or the argument value. internal Argument(Option option, string[] values) { Option = option; Values = values; } /// /// Gets the that is set in this argument; or null. /// public Option Option { get; private set; } /// /// Gets the additional parameter values for the option; or the argument value. /// public string[] Values { get; private set; } /// /// Gets the first item of ; or null. /// public string Value => Values.Length > 0 ? Values[0] : null; } }