как можно облегчить этот код ? c# Windows Forms Combobox
Как можно облегчить этот фрагмент кода чтобы каждый раз не писать try { ... } catch { ... } ?
switch (index)
{
case 0:
try
{
Process.Start("taskmgr.exe");
}
catch
{
MessageBox.Show("Программа не найдена по указанному пути в коде" +
"\nПопробуйте связаться с автором программы Master pro 1322#5500");
}
break;
case 1:
try
{
Process.Start("Notepad.exe");
}
catch
{
MessageBox.Show("Программа не найдена по указанному пути в коде" +
"\nПопробуйте связаться с автором программы Master pro 1322#5500");
}
break;
case 2:
try
{
Process.Start("D:\\Minecraft\\MinecraftLauncher.exe");
}
catch
{
MessageBox.Show("Программа не найдена по указанному пути в коде" +
"\nПопробуйте связаться с автором программы Master pro 1322#5500");
}
break;
case 3:
try
{
Process.Start("C:\\Users\\Арслан\\AppData\\Roaming\\Spotify\\Spotify.exe");
}
catch { MessageBox.Show("Программа не найдена по указанному пути в коде" +
"\nПопробуйте связаться с автором программы Master pro 1322#5500"); }
break;
}
}
Ответы (2 шт):
Автор решения: Xamdi59
→ Ссылка
Почему бы и нет... (улучшенная версия)
private string _messageError = "Программа не найдена по указанному пути в коде" +
"\nПопробуйте связаться с автором программы Master pro 1322#5500";
public string GetPathByIndex(int index) =>
index switch
{
1 => "taskmgr.exe",
2 => "Notepad.exe",
3 => @"D:\Minecraft\MinecraftLauncher.exe",
_ => "none"
};
public void StartBuIndex(int index)
{
var path = GetPathByIndex(index);
if (File.Exists(path))
Process.Start(path);
else
MessageBox.Show(_messageError);
}
Автор решения: Blackmeser
→ Ссылка
string error = "Программа не найдена по указанному пути в коде" +
"\nПопробуйте связаться с автором программы Master pro 1322#5500";
string name = Environment.UserName;
try
{
switch (index)
{
case 0: Process.Start("taskmgr.exe"); break;
case 1: Process.Start("Notepad.exe"); break;
case 2: Process.Start(@"D:\Minecraft\MinecraftLauncher.exe"); break;
case 3: Process.Start($@"C:\Users\{name}\AppData\Roaming\Spotify\Spotify.exe"); break;
default: break;
}
}
catch { MessageBox.Show(error); }