Also, ich habe diesen CodeWay Eigenschaft abhängig von anderer Eigenschaft zu setzen
Process[] processesManager = Process.GetProcesses();
List<ProcessInfo> temporaryProcessesList = new List<ProcessInfo>();
for (int i = 0; i < processesManager.Length; ++i)
{
temporaryProcessesList.Add(new ProcessInfo(processesManager[i].ProcessName, processesManager[i].Id, TimeSpan.Zero, "Group"));
}
processesList = temporaryProcessesList.GroupBy(d => new {d.Name}).Select(d => d.First()).ToList();
Dieser Code für das Erhalten aktuelle Prozesse verwendet wird. Dann füge ich diese Prozeduren zu temporaryProcessesList
hinzu. Und anstelle der einfachen Zeichenfolge "Group" möchte ich die Eigenschaft abhängig vom Namen des Prozesses festlegen. Wenn der Prozess beispielsweise den Namen ligaoflegends.exe hat, möchte ich die Gruppe auf "Games" setzen, wenn devenv.exe die Gruppe auf "Software development" setzen möchte.
Und meine Frage ist, wie man es am einfachsten/besten Weg macht? Ich habe über Dictionary mit String und Enum nachgedacht. Und vergleicht die mit String. Aber vielleicht gibt es einen besseren Weg.
ProcessInfo
ist eine einfache Klasse mit 4 Eigenschaften und Konstruktor.
public class ProcessInfo
{
private string Name { get; set; }
private int Id { get; set; }
private TimeSpan Time { get; set; }
private string Group { get; set; }
public ProcessInfo(string name, int id, TimeSpan time, string group)
{
Name = name;
Id = id;
Time = time;
Group = group;
}
}
Es ist so viel mehr zu schreiben als mit Wörterbuch, da ich für jeden Prozess Fall schreiben müsste. Aber ja, das ist eine andere Lösung. – Porqqq
Wahr, aber Sie könnten die 'UpdateGroupName'-Methode aktualisieren, um eine Liste von Prozessnamen und ihre entsprechenden Gruppennamen aus einer Textdatei, XML-Datei usw. zu lesen. Auf diese Weise könnten Sie die Gruppennamen ohne Neuaufbau aktualisieren. –
Hmmmm .. Ich möchte es mit Wörterbuch tun. Ich meine, lesen Sie von JSON-Datei zu Wörterbuch, und ich denke, es wäre besser. Denkst du nicht? – Porqqq