private static string GetArgumentName(PropertyInfo info, ArgumentAttribute argumentAttribute, OptionAttribute optionAttribute, CommandAttribute commandAttribute) { string primaryName = info.Name; if (argumentAttribute?.Name != null) { return(argumentAttribute.Name.ToLowerInvariant()); } if (optionAttribute?.Name != null) { return(optionAttribute.Name.ToLowerInvariant()); } if (commandAttribute?.Name != null) { return(commandAttribute.Name.ToLowerInvariant()); } return(primaryName.ToLowerInvariant()); }
/// <summary>Initializes a new instance of the <see cref="CommandInfo"/> class.</summary> /// <param name="propertyInfo">The property information.</param> /// <param name="commandLineAttribute">The command line attribute.</param> public CommandInfo([NotNull] PropertyInfo propertyInfo, [NotNull] CommandAttribute commandLineAttribute) : base(propertyInfo, commandLineAttribute) { ArgumentType = ComputeArgumentType(); IsDefault = commandLineAttribute.IsDefaultCommand; }
private static string[] GetAliases(ArgumentAttribute argumentAttribute, OptionAttribute optionAttribute, CommandAttribute commandAttribute) { if (argumentAttribute != null) { return(argumentAttribute.Aliases); } if (optionAttribute != null) { return(optionAttribute.Aliases); } if (commandAttribute != null) { return(commandAttribute.Aliases); } return(new string[0]); }