Wie kann ich einer Aufgabe in TPL einen Namen geben?

Ich werde viele Aufgaben verwenden, die in meiner Anwendung ausgeführt werden. Jede Reihe von Aufgaben wird aus irgendeinem Grund ausgeführt. Ich möchte diese Aufgaben so benennen, dass ich sie beim Anzeigen des Fensters Parallele Aufgaben leicht erkennen kann.

Unter einem anderen Gesichtspunkt sollten Sie berücksichtigen, dass ich Aufgaben auf Framework-Ebene verwende, um eine Liste aufzufüllen. Eine Entwicklerin, die mein Framework verwendet, verwendet auch Aufgaben für ihren Job. Wenn sie sich das Fenster für parallele Aufgaben ansieht, findet sie einige Aufgaben, von denen sie keine Ahnung hat. Ich möchte Aufgaben benennen, damit sie die Rahmenaufgaben von ihren Aufgaben unterscheiden kann.

Es wäre sehr praktisch, wenn es eine solche API gäbe:

var task = new Task(action, "Growth calculation task")

oder vielleicht:

var task = Task.Factory.StartNew(action, "Populating the datagrid")

oder sogar während der Arbeit mitParallel.ForEach

Parallel.ForEach(list, action, "Salary Calculation Task"

Kann man eine Aufgabe benennen?

Kann man possible geben?Parallel.ForEach eine Benennungsstruktur (möglicherweise unter Verwendung eines Lambda), damit Aufgaben mit dieser Benennung erstellt werden?

Gibt es eine solche API, die mir fehlt?

Ich habe auch versucht, einen geerbten Task zu verwenden, um dessen ToString () zu überschreiben. Leider wird ToString () im Fenster "Parallele Tasks" nicht verwendet!

class NamedTask : Task
{
    private string TaskName { get; set; }
    public NamedTask(Action action, string taskName):base(action)
    {
        TaskName = taskName;
    }

    public override string ToString()
    {
        return TaskName;
    }
}

Antworten auf die Frage(9)

Ihre Antwort auf die Frage