私のアプリケーションでたくさんのタスクを使用します。タスクの各束は何らかの理由で実行されています。私はこれらのタスクに名前を付けたいので、Parallel Tasksウィンドウを見ると簡単に認識できました。TPLのタスクに名前を割り当てる方法
別の観点として、フレームワークレベルでタスクを使用してリストを作成しているとします。私のフレームワークを使用する開発者は、仕事にもタスクを使用しています。彼女がParallel Tasks Windowを見ると、彼女は何も知らないいくつかの仕事を見つけるだろう。私は彼女のタスクとフレームワークのタスクを区別できるようにタスクに名前を付ける。
、このような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;
}
}
これはいいですが、同じメソッドを実行している複数のタスクを持っている非常に多くの場合、これはあまり役に立ちません。 –
これは良い解決策であり、実用的なものです。ありがとう。しかし、名前をつくるほうがよかったです。たとえば、人Aの計算、人Bの計算、...パラメトリックな命名法は良いでしょう...しかし、私の根本的な問題は、そこにあるタスクには単純な名前プロパティがないのです。 – mehrandvd