ich baue mir aktuell für einen OpenFileDialog einen dynamischen Filter string über eine switch Anweisung.
Der Filter ist ja folgendermaßen aufgebaut: Text files (*.txt)|*.txt|All files (*.*)|*.*
Ich bekomme eine List<string> args mit z.B. *.xml und *.txt
Nun, die Lösung finde ich semi optimal da ich mit der switch Anweisung ja aktuell wie im Beispiel an 5 Einträge gebunden bin und weil es so auch sehr unschön aussieht.
Habe aktuell aber keine Idee wie ich das anders lösen kann.
Habt ihr weitere Anregungen?
switch (args.Count)
{
case 1:
dialog.Filter = $@"({args[0]})|{args[0]}";
break;
case 2:
dialog.Filter = $@"({args[0]};{args[1]})|{args[0]};{args[1]}";
break;
case 3:
dialog.Filter = $@"({args[0]};{args[1]};{args[2]})|{args[0]};{args[1]};{args[2]}";
break;
case 4:
dialog.Filter = $@"({args[0]};{args[1]};{args[2]};{args[3]})|{args[0]};{args[1]};{args[2]};{args[3]}";
break;
case 5:
dialog.Filter = $@"({args[0]};{args[1]};{args[2]};{args[3]};{args[4]})|{args[0]};{args[1]};{args[2]};{args[3]};{args[4]}";
break;
default:
dialog.Filter = string.Empty;
break;
}
Grüße
Pico