Как я могу присвоить имя задаче в TPLC#

Место общения программистов C#
Ответить
Anonymous
 Как я могу присвоить имя задаче в TPL

Сообщение Anonymous »

Я собираюсь использовать множество задач, выполняемых в моем приложении. Каждая связка задач выполняется по какой-то причине. Я хотел бы назвать эти задачи так, чтобы, просматривая окно «Параллельные задачи», я мог их легко распознать.

С другой точки зрения, предположим, что я использую задачи на уровне платформы для заполнения списка. Разработчик, использующий мой фреймворк, также использует задачи для своей работы. Если она посмотрит в окно параллельных задач, то обнаружит некоторые задачи, о которых понятия не имеет. Я хочу назвать задачи, чтобы она могла отличать задачи фреймворка от своих задач.

Было бы очень удобно, если бы был такой 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(). Но, к сожалению, окно параллельных задач не использует 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;
}
}


Подробнее здесь: https://stackoverflow.com/questions/137 ... ask-in-tpl
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»