c#传递CancellationToken可以吗?

时间:2018-11-10 19:56:45

标签: c# wpf

在更新WPF用户界面时,可以在“任务”中运行像这样的方法吗?

   public static void InvokeOnUiThread(Action action, CancellationToken token)
    {
        if (Application.Current == null) return;
        if (Application.Current.Dispatcher.CheckAccess())
        {
            action();
        }
        else
        {
            if (token.IsCancellationRequested) return;
            Application.Current.Dispatcher.Invoke(action);
        }
    }

我也想传递一个null,但是还没有弄清楚如何使CancellationToken为null。

1 个答案:

答案 0 :(得分:2)

尝试将其设为具有默认值的可选参数

static void InvokeOnUiThread(Action action, CancellationToken token = default(CancellationToken)) {
    //...
}

这样,仅需操作即可调用该方法