public CommandLineSettingsReader(IEnumerable <string> loadFlags) { var handler = new CmdLineSectionHandler(); var args = Environment.GetCommandLineArgs().AsCleanedArgs(); // TODO: scan for types with Alias attribute and find ones that match the provided name // TODO: configurable probing paths, maybe just for assemblies not found? foreach (var arg in args) { string loadFlag = loadFlags.FirstOrDefault(f => arg.StartsWith(f, StringComparison.InvariantCultureIgnoreCase)); if (loadFlag != null) { string chomped = arg.Substring(loadFlag.Length); handler.Add(new LoadArg(chomped)); } } SectionHandler = handler; // TODO: property config // TODO: property AutoAlias via CamelCase initials (no need for AliasAttribute) }
public CommandLineSettingsReader(IEnumerable<string> loadFlags) { var handler = new CmdLineSectionHandler(); var args = Environment.GetCommandLineArgs().AsCleanedArgs(); // TODO: scan for types with Alias attribute and find ones that match the provided name // TODO: configurable probing paths, maybe just for assemblies not found? foreach (var arg in args) { string loadFlag = loadFlags.FirstOrDefault(f => arg.StartsWith(f, StringComparison.InvariantCultureIgnoreCase)); if (loadFlag != null) { string chomped = arg.Substring(loadFlag.Length); handler.Add(new LoadArg(chomped)); } } SectionHandler = handler; // TODO: property config // TODO: property AutoAlias via CamelCase initials (no need for AliasAttribute) }