static void Main(string[] args) { if (args.Length < 1) { Console.WriteLine("I need an argument!"); } else { var fileInfo = new FileInfo(args[0]); if (!fileInfo.Exists) { Console.WriteLine("No such file found"); } else { var mainConverter = new MainConverter(fileInfo); mainConverter.DoSomeStuffWithTheFile(); } } Console.WriteLine("\n\nLet's test Submodule Functions"); var fancy = new FancyService(); fancy.FirstFancyMessage(); Console.ReadKey(); }
/// <summary> /// 変換処理 /// </summary> /// <param name="config">設定情報</param> /// <param name="outputRepository">出力用リポジトリインスタンス</param> /// <param name="inputRepository">入力用リポジトリインスタンス</param> public void Convert(Config config, ITSFileRepository outputRepository, ICSFileRepository inputRepository) { var csApplication = new CSharpAnalyze.ApplicationService.AnalyzeApplication(); // Register Analyzed Event csApplication.Register <CSharpAnalyze.Domain.PublicInterfaces.Events.IAnalyzed>(csApplication, (ev) => { // File指定確認 if (!config.InputFile.EndsWith(ev.FilePath)) { return; } var converter = new MainConverter(); var result = converter.ConvertTS(ev, config); // output file var filePath = ev.FilePath.Replace(".cs", ".ts", StringComparison.CurrentCulture); outputRepository.WriteFile($"{Path.Combine(config.OutputTSRoot.Value, filePath)}", result); }); // Run C# Analyze csApplication.Analyze(config.InputCSRoot.Value, inputRepository); // output fixed TypeScript files outputRepository.OutputFixedTypeScripts(config.OutputTSRoot.Value); }