コード例 #1
0
        private static int Main(string[] args)
        {
            SetProfile();

            ArgumentParseResult arguments;
            var console = new ScriptConsole();

            try
            {
                var parser = new ArgumentHandler(new ArgumentParser(), new ConfigFileParser(console), new FileSystem());
                arguments = parser.Parse(args);
            }
            catch (Exception ex)
            {
                console.WriteLine(ex.Message);
                var options = new ArgUsageOptions {
                    ShowPosition = false, ShowType = false
                };
                var usage = ArgUsage.GetUsage <ScriptCsArgs>(options: options);
                console.WriteLine(usage);
                return(1);
            }
            finally
            {
                console.Exit();
            }

            var scriptServicesBuilder = ScriptServicesBuilderFactory.Create(arguments.CommandArguments, arguments.ScriptArguments);
            var factory = new CommandFactory(scriptServicesBuilder);
            var command = factory.CreateCommand(arguments.CommandArguments, arguments.ScriptArguments);

            return((int)command.Execute());
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: paulbouwer/scriptcs
        private static ArgumentParseResult ParseArguments(string[] args)
        {
            var console = new ScriptConsole();

            try
            {
                var parser = new ArgumentHandler(new ArgumentParser(console), new ConfigFileParser(console), new FileSystem());
                return(parser.Parse(args));
            }
            finally
            {
                console.Exit();
            }
        }