C# рефакторинг switch
Мне кажется, что написал не очень хорошо, прошу подсказать более правильное решение.
private static Process ProcessInitialize(Language language, string filePath)
{
var pc = new Process();
pc.StartInfo.UseShellExecute = false;
pc.StartInfo.RedirectStandardOutput = true;
pc.StartInfo.RedirectStandardError = true;
pc.StartInfo.RedirectStandardInput = true;
switch (language) //Для каждого языка свой процесс для запуска
{
case Language.CSharp:
pc.StartInfo.Arguments = $"{filePath}.dll";
pc.StartInfo.FileName = "dotnet";
break;
case Language.CPlusPlus:
string fileName = Path.GetFileName(filePath);
pc.StartInfo.FileName = $"./Uploads/{fileName}";
break;
case Language.Java:
pc.StartInfo.FileName = $"java";
pc.StartInfo.Arguments = "./Uploads/Testing.java";
break;
case Language.Python:
pc.StartInfo.Arguments = "./Uploads/Testing.py";
pc.StartInfo.FileName = $"python";
break;
default:
throw new Exception();
}
return pc;
}