私はC#で多言語IDEを書いています。現在、それは適度に機能的なエディターとして機能します。ただし、現在、Javaコードをコンパイルして実行する機能の追加に取り組んでいます(これをC#で記述するのはばかげているように聞こえますが、C#を使用することを好み、学校のクラスでJavaサポートが必要です)。
その背景の後、ここに質問があります:C#からJavaコードをコンパイルするための最良の方法は何ですか?現在、System.Diagnostics.Process
クラスを使用しています。基本的に、コマンドラインからjavacを呼び出すのと同じ方法でコンパイラを呼び出します。これが私の現在の実装の大まかな例です:
ProcessStartInfo buildInfo = new ProcessStartInfo();
buildInfo.WorkingDirectory = Path.GetDirectoryName(sourcePath);
buildInfo.RedirectStandardOutput = true;
buildInfo.RedirectStandardError = true;
buildInfo.UseShellExecute = false;
Process buildProcess = Process.Start(buildInfo);
後でアプリケーションがそれらをキャッチしてコンパイルが成功したかどうかを判断するため、標準出力とエラーをリダイレクトします。これを行うためのより良い方法はありますか?少しずさんな感じで、何か見落としているのか知りたかったです。