PowerArgs.CommandLineArgumentsDefinition.FindCommandLineArguments C# (CSharp) Method

FindCommandLineArguments() private static method

private static FindCommandLineArguments ( Type t ) : List
t System.Type
return List
        private static List<CommandLineArgument> FindCommandLineArguments(Type t)
        {
            BindingFlags flags = BindingFlags.Instance | BindingFlags.Public;

            var knownAliases = new List<string>();

            foreach (var prop in t.GetProperties(flags))
            {
                // This makes sure that explicit aliases get put into the known aliases before any auto generated aliases
                knownAliases.AddRange(prop.Attrs<ArgShortcut>().Select(s => s.Shortcut));
            }

            var ret = from p in t.GetProperties(flags)
                      where  CommandLineArgument.IsArgument(p)
                      select CommandLineArgument.Create(p, knownAliases);
            return ret.ToList();
        }