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());
        }
Example #2
0
 /// <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]);
        }