任务似乎没有开始

时间:2011-12-27 22:19:54

标签: c# android android-asynctask task

为什么这段代码没有启动任务?我总是在等待激活。 在这里,我正在做一个简单的任务,试图从剪贴板读取并在剪贴板可访问时返回我。当我运行该行时,我可以看到任务状态正在等待完成。为什么会发生这种情况?

TaskScheduler scheduler = TaskScheduler.Default;

var fetchTask =
    new Task<Boolean>(() =>
    {
        while (1 == 1)
        {
            try
            {
                IDataObject obj = Clipboard.GetDataObject();
                return true;
            }
            catch (Exception e)
            {
            }
        }
    })
    .ContinueWith<Boolean>(
        x =>
        {
         Console.WriteLine("Task completed");
         return true;
        },
    CancellationToken.None,
    TaskContinuationOptions.None, scheduler);

3 个答案:

答案 0 :(得分:2)

因为......你没有开始吗?

fetchTask.Start();

(CW尊重现有的两条评论)

答案 1 :(得分:0)

永远不会开始尝试。

fetchTask.Start();

答案 2 :(得分:0)

我知道这是旧的,但如果fetchTask.Start()不起作用,请尝试使用TaskFactory

    TaskScheduler scheduler = TaskScheduler.Default;
        var fetchTask = Task<Boolean>.Factory.StartNew(() =>
        {
            while (1 == 1)
            {
                try
                {
                    IDataObject obj = Clipboard.GetDataObject();
                    return true;
                }
                catch (Exception e)
                {
                }
            }
        })
        .ContinueWith<Boolean>(
            x =>
            {
                Console.WriteLine("Task completed");
                return true;
            },
        CancellationToken.None,
        TaskContinuationOptions.None, scheduler);