仅在传递IList时存储IList的任务

时间:2012-05-09 13:33:15

标签: c#-4.0 task-parallel-library

我有以下属性:

public Func<EntityKey, string, Task<IList<MyProperty>>> RequestHandler { get; private set; }

我的班上也有一个构造函数,如下所示:

public RequestHandlerTasks(Func<EntityKey, string, IList<MyProperty>> handler)

如何操作传递给构造函数的“处理程序”,以便将其存储在“RequestHandler”属性中?

如果你没有发现它,构造函数使用“IList”,属性需要一个IList任务。

1 个答案:

答案 0 :(得分:2)

目前还不清楚语义是什么意思,但它可能就像这样简单:

public RequestHandlerTasks(Func<EntityKey, string, IList<MyProperty>> handler)
{
    // Whenever the RequestHandler delegate is called, it will start a new task.
    RequestHandler = (arg1, arg2) =>
        Task.Factory.StartNew(() => handler(arg1, arg2));
}

那将编译 - 它是否符合您想要的是另一回事......