我如何给任务一个属性?

How do I give a task a property?

我将我的任务保存在一个列表中,现在我想遍历它并找出哪些任务已设置 "IsSpecial=true"。 但是我找不到任何方法来在任务 上实际创建 属性 也可以通过任务的操作 .

进行修改
class MyOwnTask: Task
{
    public bool IsSpecial= false;
}
new MyOwnTask(() => {
    this.IsSpecial = true; // "cannot use 'this' in static member"
});

传递一个对象状态也不起作用,因为我无法查询它,所以我没有想法......用线程做这个很容易,所以我不知道为什么会这样无法完成任务?

用于 Task 操作的匿名方法使用声明匿名方法的代码的上下文,而不是 MyOwnTask class 的上下文。但这并不能阻止您访问 MyOwnTask 的成员;您只需要使用正确的对象引用即可。

例如,这很好用:

MyOwnTask t = null;

t = new MyOwnTask(() => {
    t.IsSpecial = true;
});

这里引入了局部变量t,通过匿名方法捕获,可以用来访问IsSpecial字段