Я собираюсь использовать множество задач, запущенных в моем приложении. По какой-то причине каждая группа задач запущена. Я хотел бы назвать эти задачи, поэтому, когда я смотрю окно Parallel Tasks, я мог бы легко их распознать.
С другой точки зрения, рассмотрим, что я использую задачи на уровне структуры для заполнения списка. Разработчик, который использует мою инфраструктуру, также использует задачи для своей работы. Если она посмотрит на окно параллельных задач, она найдет некоторые задачи, о которых не знает. Я хочу назвать задачи, чтобы она могла отличать рамки задач от своих задач.
Было бы очень удобно, если бы был такой API:
var task = new Task(action, "Growth calculation task")
или возможно:
var task = Task.Factory.StartNew(action, "Populating the datagrid")
или даже при работе с Parallel.ForEach
Parallel.ForEach(list, action, "Salary Calculation Task"
Можно ли назвать задачу?
Можно ли дать Parallel.ForEach
структуру именования (возможно, используя лямбда), чтобы создать задачи с этим именем?
Есть ли такой API где-то, что мне не хватает?
Я также попытался использовать унаследованную задачу, чтобы переопределить ее ToString(). Но, к сожалению, окно Parallel Tasks не использует ToString()!
class NamedTask : Task
{
private string TaskName { get; set; }
public NamedTask(Action action, string taskName):base(action)
{
TaskName = taskName;
}
public override string ToString()
{
return TaskName;
}
}