コード例 #1
0
        /// <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);
        }