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;
        }

Ответы (0 шт):